我正在整理餐厅的评论。 Urllib2适用于评论的初始页面,但是有一个链接可以加载下一个增量评论,这是一个JavaScript链接。一个例子页here,并链接“下一步25”的代码是:模拟点击python中的JavaScript链接
<a href="javascript:__doPostBack('ctl00$ContentPlaceHolder1$RestRatings$Next','')" class="red" id="ctl00_ContentPlaceHolder1_RestRatings_Next">NEXT 25>> </a>
我已经看过了所有以前的答案(e.g.),我不得不说,我仍然不明白。在Firebug中查看控制台不提供方便的链接。你能建议最好的(最简单的)方法来实现吗?
编辑: 与感谢Seleniumnewbie这个代码就可以通过评论打印出所有的评论:
from selenium import webdriver
from BeautifulSoup import BeautifulSoup
import re
driver = webdriver.Firefox()
def getURLinfo(url):
driver.get(url)
html = driver.page_source
next25 = "ctl00_ContentPlaceHolder1_RestRatings_Next"
soup = BeautifulSoup(html)
while soup.find(id=re.compile(next25)):
driver.find_element_by_id(next25).click()
html = html + driver.page_source
soup = BeautifulSoup(driver.page_source)
soup = BeautifulSoup(html)
comment = soup.findAll(id=re.compile("divComment"))
for entry in comment:
print entry.div.contents #for comments
driver.close()
用什么工具 - 硒? – user578582
是selenium webdriver – Amey
好的,谢谢,我明天就试试看,并保持发布! – user578582