Python Scrapy Post请求是';行不通

Python Scrapy Post请求是';行不通,python,post,xmlhttprequest,scrapy,Python,Post,Xmlhttprequest,Scrapy,我正在尝试爬网此站点: 首先,我想更改货币,所以我尝试了以下方法: yield FormRequest.from_response(response,formdata={'cms_handler_name': 'jpintl%3Aon_setUserPreference', 'country_code': 'AE'}, dont_click=

我正在尝试爬网此站点:

首先,我想更改货币,所以我尝试了以下方法:

    yield FormRequest.from_response(response,formdata={'cms_handler_name': 'jpintl%3Aon_setUserPreference',
                                          'country_code': 'AE'},
                                dont_click=True,
                                callback=self.parse_all_categories)
它不起作用,我得到了以美元作为货币的回复。 我甚至试着用邮递员来做,但没用
有什么帮助吗?当您从网站的上栏更改货币时,您可以检查http请求。

如果您只需设置适当的cookie
客户\国家\代码
,如下图所示:

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

因此,货币设置成功


希望这能有所帮助。

如果您只需设置适当的cookie
客户\国家\代码
,如下图所示:

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

因此,货币设置成功

希望有帮助。

有效:)谢谢:)但是你知道为什么其他方法不起作用吗?有效:)谢谢:)但是你知道为什么其他方法不起作用吗?