首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用python实现Web数据的抓取

使用python实现Web数据的抓取
EN

Stack Overflow用户
提问于 2015-11-04 16:37:38
回答 1查看 367关注 0票数 0

我刚刚开始学习使用Python进行网络抓取。我的目标是从http://money.rediff.com/companies/Bajaj-Auto-Ltd/10540026网站上为Bajaj汽车有限公司收集实时新闻。

问题是:我无法提取内容(即新闻)。

代码语言:javascript
运行
复制
from urllib.request import urlopen
from bs4 import BeautifulSoup

url = 'http://money.rediff.com/companies/Bajaj-Auto-Ltd/10540026'
data = urlopen(url)
soup = BeautifulSoup(data)

te=soup.find('a',attrs={'target':'_jbpinter'})
lis=te.find_all_next('a',attrs={'target':'_jbpinter'})
#print(lis)

for li in lis:
    print(li.find('a').contents[0])

我得到了错误"AttributeError:'NoneType‘对象没有属性'contents'“,也没有得到想要的结果。

如有任何意见,将不胜感激。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-11-04 16:52:11

您正在尝试两次获取a标记。

替换

代码语言:javascript
运行
复制
for li in lis:
    print(li.find('a').contents[0])

使用

代码语言:javascript
运行
复制
for li in lis:
    print(li.get_text())

你得到了这个输出:

代码语言:javascript
运行
复制
Need Different Rates For Different Products: Rahul Bajaj on GST
Reforms irrespective of Bihar results: Bajaj
Auto shares in focus; Tata Motors up over 5%
We believe new Avenger will stimulate the market: Bajaj Auto's Eric Vas
BHP Billiton pins future of Indonesian coal mine on new...
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33527206

复制
相关文章

相似问题

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