BeautifulSoup没有找到tr id

时间:2017-01-11 20:02:03

标签: python web-scraping beautifulsoup

我使用python 2.7.12中的requests和BeautifulSoup模块运行此Web抓取练习。我的问题是,我似乎无法让汤对象根据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')

2 个答案:

答案 0 :(得分:1)

@AndrewF:

我建议你使用-lSDL2main作为简单的任务作为提取评论,这里有一个片段来展示它的简单性:

PyQuery

答案 1 :(得分:1)

我认为html.parser不稳定是python2,使用lxmlhtml5lib

soup = bs(r_text, "lxml")

此引用来自Document

  

如果可以的话,我建议你安装并使用lxml来提高速度。如果你是   使用早于2.7.3的Python 2版本或Python版本   3。早于3.2.2,安装lxml或者必须安装   html5lib- Python的内置HTML解析器在旧版本中并不是很好   版本