mie*_*nik 24 javascript python onclick scrapy web-scraping
我希望scrapy抓取页面,进入下一个链接看起来像这样:
<a href="#" onclick="return gotoPage('2');"> Next </a>
Run Code Online (Sandbox Code Playgroud)
scrapy能解释那个javascript代码吗?
通过livehttpheaders扩展,我发现单击Next会生成一个POST,其中包含一个非常大的"垃圾",如下所示:
encoded_session_hidden_map=H4sIAAAAAAAAALWZXWwj1RXHJ9n
Run Code Online (Sandbox Code Playgroud)
我正在尝试在CrawlSpider类上构建我的蜘蛛,但我无法弄清楚如何对它进行编码,BaseSpider我使用该parse()方法处理第一个URL,这恰好是一个登录表单,我在其中执行了一个POST:
def logon(self, response):
login_form_data={ 'email': 'user@example.com', 'password': 'mypass22', 'action': 'sign-in' }
return [FormRequest.from_response(response, formnumber=0, formdata=login_form_data, callback=self.submit_next)]
Run Code Online (Sandbox Code Playgroud)
然后我定义了submit_next()来告诉下一步该做什么.我无法弄清楚如何告诉CrawlSpider在第一个URL上使用哪种方法?
我抓取的所有请求(第一个除外)都是POST请求.它们交替使用两种类型的请求:粘贴一些数据,然后单击"下一步"转到下一页.
实际的方法如下:
所有这些都必须通过服务器响应机制来简化,例如:
dont_click = true使用FormRequest.from_response 现在如何解决这一切: 使用像 fiddler 这样的 Web 调试器,或者可以使用 Firefox 插件 FireBug,或者只需在 IE 9 中按 F12;并检查用户在网站上实际发出的请求是否与您抓取网页的方式相符。
| 归档时间: |
|
| 查看次数: |
10136 次 |
| 最近记录: |