【发布时间】:2017-01-12 19:38:25
【问题描述】:
我已经使用 python 2.7.12 中的 requests 和 BeautifulSoup 模块运行了这个网络抓取练习。我的问题是我似乎无法让soup对象根据id返回特定的tr,以及我随机选择的一些其他带有id的html元素,包括以下打印语句中的元素。知道为什么这不起作用吗?任何帮助将不胜感激。
import requests
from bs4 import BeautifulSoup as bs
head= {
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',
'Content-Type': 'text/html',}
r = requests.get('http://www.iii.co.uk/investment/detail?code=cotn:LSE:SEE&display=discussion', headers=head)
r_text = r.text
soup = bs(r_text, "html.parser")
print soup.find("tr",id="disc1-12056888")
print soup.find('table', id='discussion-list')
【问题讨论】:
-
使用
BS而不是其他库的任何具体原因?对于更简单的事情,我喜欢使用PyQuery,它使用 DOM 选择器来提取信息。 -
你能分享一下 r_text 吗?
-
@RafaelAguilar 不。只是想为 cmets 抓取该站点。你会为此推荐 PyQuery 吗?
-
@Shijo 不,我尝试通过堆栈将其识别为垃圾邮件
-
当您执行
print soup时,您看到tr您正试图加入汤吗?
标签: python web-scraping beautifulsoup