我正在整理餐廳的評論。 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