我正在为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')
答案 0 :(得分:1)
显然,答案是“你不能这样做”,但this question的答案可能有所帮助。
答案 1 :(得分:0)
我最终使用selenium。如果firefox可以做到,我也可以。