我正在为this网站创建一个刮板。索引是一个多页索引。为了进入第二页,我需要点击“下一页”按钮(页面左侧的两个小箭头),这是一个JavaScript链接。导航和拉页形成蟒蛇/机械化浏览器的问题
我正在建设的功能是应该附加页面汤,以便我可以稍后解析它。它被设计成递归的。
我有一个自定义的机械化浏览器,我自己就用它。
我确切的问题是,我不能得到第二和第三页的汤,等等。
这是我的代码。非常感谢您的时间和帮助。
def append_page(self, url, soup):
m=soup.find('image',attrs={'id':'BTNNEXT'})
if m :
# Print HTTP headers.
self.br.set_debug_http(True)
response1 = self.br.follow_link(mechanize.Link(base_url = '', url = url, text = '', tag = '', attrs = [{'id':'BTNNEXT'}]))
html=response1.read()
soup2 = self.index_to_soup(html)
self.append_page(url,soup2)
texttag =soup.find('input',attrs={'name':'rsSearchRes_Count'})
append = soup.texttag.findNext('tbody')
多么令人沮丧。什么是机械化,链接呢?为什么我会从set_debug_http中看到一个很好的'GET'请求? – user850498 2010-11-06 20:12:26
@ user475647你会得到纯html链接,而不是javascript链接,如果你在浏览器中关闭了javascript,你会得到同样的结果。 – 2010-11-06 22:13:02