【发布时间】:2015-07-07 04:28:31
【问题描述】:
我指的是stackoverflow上列出的以下问题: Scrapy, scrapping data inside a javascript
我正在尝试复制@Rho 给出的这个问题的答案,以了解如何从 javascript 生成的表单中抓取数据。自发布此问题以来,表单的有效负载似乎发生了变化,因此我进行了相应修改。
我的代码和输出如下:
>>>scrapy shell https://www.mcdonalds.com.sg/locate-us/
2015-07-07 12:09:28+0800 [scrapy] INFO: Scrapy 0.24.6 started (bot: scrapybot)
.....
2015-07-07 12:09:28+0800 [default] INFO: Spider opened
2015-07-07 12:09:32+0800 [default] DEBUG: Crawled (200) <GET https://www.mcdonalds.com.sg/locate-us/> (referer: None)
....
>>> url = 'https://www.mcdonalds.com.sg/wp-admin/admin-ajax.php'
>>> payload = {'action':'store_locator_locations'}
>>> head = {'X-Requested-With':'XMLHttpRequest'}
>>> from scrapy.http import FormRequest
>>> req=FormRequest(url,formdata=payload,headers=head)
>>> fetch(req)
2015-07-07 12:12:24+0800 [default] DEBUG: Crawled (404) <POST https://www.mcdonalds.com.sg/wp-admin/admin-ajax.php> (referer: None)
预期的响应是200,但正如您在上面看到的,我收到了404 错误代码。
【问题讨论】:
标签: javascript python scrapy