2010-11-04 115 views
0

我正在为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') 

回答

1

显然,答案是“你不能这样做”,但答案this question可能会有帮助。

+0

多么令人沮丧。什么是机械化,链接呢?为什么我会从set_debug_http中看到一个很好的'GET'请求? – user850498 2010-11-06 20:12:26

+0

@ user475647你会得到纯html链接,而不是javascript链接,如果你在浏览器中关闭了javascript,你会得到同样的结果。 – 2010-11-06 22:13:02

0

我结束了使用selenium。如果Firefox能做到这一点,那么我也可以。