【发布时间】:2018-05-27 01:58:13
【问题描述】:
我现在正在创建一个网络爬虫,我想从 imdb 中抓取用户评论。从原始页面直接获取 10 条评论和评分很容易。例如http://www.imdb.com/title/tt1392170/reviews 问题是要获得所有评论,我需要按“加载更多”,以便在url地址不变的情况下显示更多评论!所以我不知道如何才能获得 Python3 中的所有评论。我现在使用的是请求,bs4。
我现在的代码:
from urllib.request import urlopen, urlretrieve
from bs4 import BeautifulSoup
url_link='http://www.imdb.com/title/tt0371746/reviews?ref_=tt_urv'
html=urlopen(url_link)
content_bs=BeautifulSoup(html)
for b in content_bs.find_all('div',class_='text'):
print(b)
for rate_score in content_bs.find_all('span',class_='rating-other-user-rating'):
print(rate_score)
【问题讨论】:
-
查看名为
selenium的库,让 python 执行自动化任务,例如单击按钮等 -
或者您可以使用从 chrome 网络选项卡
http://www.imdb.com/title/tt0371746/reviews/_ajax?ref_=undefined&paginationKey=cyi4vu2uxjyffy4ynotlm45pxfmyxwf7xdnnirxpj2oplatil4zhp7rll6tnyzpbo7u5curqcymq2获得的分页请求。您需要从第一页中提取分页键并将其传递给上述请求,以加载下一页。
标签: python beautifulsoup web-crawler imdb