【发布时间】:2020-11-24 19:57:18
【问题描述】:
我正在尝试解析网页 https://xueqiu.com/S/SZ300816 上的 cmets。 但我无法通过请求库正确获取:
>>> url = 'https://xueqiu.com/S/SZ300816'
>>> headers
{'User-Agent': 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:52.0) Gecko/20100101 Firefox/52.0'}
>>> response = requests.get(url, headers=headers)
>>> from bs4 import BeautifulSoup as bs4
>>> soup = bs4(response.text)
>>> soup.findAll('article', {'class': "timeline__item"})
[]
>>>
有人可以建议我做错了什么吗?谢谢。
【问题讨论】:
-
您期望的行为是什么?实际行为是什么?您是否查看了响应的文本以验证是否有一个类为
timeline__item的元素? (请注意,在您的代码中,类名中有两个下划线) -
响应不包含
元素,但它们在 chrome 加载的页面中。通常这意味着 javascript 正在填充它。您可以使用 selenium 打开浏览器并获取页面,而不是请求。