首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >美女汤不能在这个网站上提取数据

美女汤不能在这个网站上提取数据
EN

Stack Overflow用户
提问于 2016-08-01 08:45:01
回答 1查看 92关注 0票数 0
代码语言:javascript
复制
import requests
from bs4 import BeautifulSoup
import lxml
import urllib2
opener = urllib2.build_opener()
opener.addheaders = [('User-agent', 'Mozilla/5.0')]
f =open('ala2009link.csv','r')
s=open('2009alanews.csv','w')
for row in csv.reader(f):
url=row[0]
print url
res = requests.get(url)
print res.content
soup = BeautifulSoup(res.content)
print soup
data=soup.find_all("article",{"class":"article-wrapper news"})
#data=soup.find_all("main",{"class":"main-content"})
for item in data:
    title= item.find_all("h2",{"class","article-headline"})[0].text
    s.write("%s \n"% title)
content=soup.find_all("p")
for main in content:
    k=main.text.encode('utf-8')
    s.write("%s \n"% k)
    #k=csv.writer(s)
    #k.writerow('%s\n'% (main))
s.close()
f.close()

这是我的代码,在网站上提取数据,但我不知道为什么我不能提取数据,这是广告拦截警告,以阻止我的美丽汤?

这是示例链接:Away.aspx?path=football

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-08-01 12:00:50

不返回结果的原因是该网站要求您的请求中有一个用户代理头。

要解决这个问题,请将带有User-Agent的headers参数添加到requests.get()中,如下所示。

代码语言:javascript
复制
url = 'http://www.rolltide.com/news/2009/6/23/Bert_Bank_Passes_Away.aspx?path=football'
headers = {
    'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/29.0.1547.65 Chrome/29.0.1547.65 Safari/537.36',
    }
res = requests.get(url, headers=headers)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38694480

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档