python - Scrapy 发布请求无效

标签 python post xmlhttprequest scrapy

我正在尝试抓取此站点:http://jadopado.com/

首先我想更改货币,所以我尝试了这个:

    yield FormRequest.from_response(response,formdata={'cms_handler_name': 'jpintl%3Aon_setUserPreference',
                                          'country_code': 'AE'},
                                dont_click=True,
                                callback=self.parse_all_categories)

它不起作用,我收到以美元作为货币的响应。 我什至尝试使用 postman 来做,但没有用 有帮助吗?当您从网站上方栏更改货币时,您可以检查 http 请求。

最佳答案

如果您只设置适当的 cookie customer_country_code 会怎样,如下所示:

from scrapy.http import Request
from scrapy.selector import HtmlXPathSelector
from scrapy.spider import BaseSpider


class ExampleSpider(BaseSpider):
    name = 'example'
    allowed_domains = ['jadopado.com']

    def start_requests(self):
        yield Request(url='http://jadopado.com/', cookies={'customer_country_code': 'AE'})

    def parse(self, response):
        hxs = HtmlXPathSelector(response)

        print hxs.select("//div[@class='country_code']/text()").extract()[0]

打印:

AED

至此,货币设置成功。

希望对您有所帮助。

关于python - Scrapy 发布请求无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16938762/

相关文章:

python - 从 CSV 创建 2 个字典或从 3 行创建字典

python - 发送邮件时Ascii编码错误

php - HTTP PUT 请求 : Passing Parameters with File

javascript - 如何在没有 AWS JavaScript SDK 的情况下将文件上传到 S3?

Javascript 1秒间隔ajax请求?资源占用?

从备用域名访问时 JavaScript XMLHttpRequest 中断

python - 使用 Flask session 时出现内部服务器错误

python - timeit 吃掉返回值

http - 从 Arduino 发送适当的 Post 请求

php - 对于框架 codeigniter,$_POST 为空