Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/321.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Scrapy需要使用cookie的网站_Python_Cookies_Xpath_Web Scraping_Scrapy - Fatal编程技术网

Python Scrapy需要使用cookie的网站

Python Scrapy需要使用cookie的网站,python,cookies,xpath,web-scraping,scrapy,Python,Cookies,Xpath,Web Scraping,Scrapy,我正在制作scrapy用于抓取一个网站,但是这个网站正在使用cookies,我不知道如何使用cookies制作用于抓取网站数据的说明 class DmozSpider(Spider): name = "dmoz" allowed_domains = ["dmoz.org"] start_urls = [ "http://www.dmoz.org/Computers/Programming/Languages/Python/Books/" ]

我正在制作scrapy用于抓取一个网站,但是这个网站正在使用cookies,我不知道如何使用cookies制作用于抓取网站数据的说明

class DmozSpider(Spider):
    name = "dmoz"
    allowed_domains = ["dmoz.org"]
    start_urls = [
        "http://www.dmoz.org/Computers/Programming/Languages/Python/Books/"
    ]

    def parse(self, response):
        sel = Selector(response)
        sites = sel.HtmlXPathSelector('//ul[@class="directory-url"]/li')
        items = []

        for site in sites:
            item = Website()
            item['name'] = site.xpath('a/text()').extract()
            item['url'] = site.xpath('a/@href').extract()
            items.append(item)

        return items

如何将Cookie正确添加到此url

您可以这样添加Cookie

request_with_cookies = Request(url="http://www.example.com",
               cookies={'currency': 'USD', 'country': 'UY'})

要扩展@omair\u 77的答案,您可以覆盖爬行器的
启动请求
方法,将cookie添加到爬行器的初始请求中:

def start_requests(self):
    return [Request(url="http://www.example.com",
           cookies={'currency': 'USD', 'country': 'UY'})]
这样,爬行器将发出的第一个请求就是那些cookie,对
parse
方法的第一个调用就是响应


谢谢,我尝试了这一点,但我无法使用\u Cookie迭代此请求。请详细说明,您所说的迭代是什么意思?使用此请求\u wit \u Cookie,我无法在使用xpath获取数据后获取项目