簡體   English   中英

Scrapy XPath迭代(外殼工程)

[英]Scrapy xpath iterate (shell works)

我正在嘗試使用scrapy從英國的companyhouse收集一些信息。 我通過外殼與網站建立了聯系,並通過他的命令

 scrapy shell https://beta.companieshouse.gov.uk/search?q=a

response.xpath('//*[@id="results"]').extract()

我設法得到了結果。

我試圖將其放入程序,以便將其導出到csv或json。 但是,我無法使其正常工作。

import scrapy


class QuotesSpider(scrapy.Spider):
name = "gov2"

def start_requests(self):
    start_urls = ['https://beta.companieshouse.gov.uk/search?q=a']

def parse(self, response):
    products = response.xpath('//*[@id="results"]').extract()
    print(products)

很簡單,但是嘗試了很多。 任何見識將不勝感激!

這些代碼行就是問題所在:

def start_requests(self):
    start_urls = ['https://beta.companieshouse.gov.uk/search?q=a']

start_requests方法應返回Request的可迭代; 您的返回None

默認的start_requestsstart_urls指定的url創建此可迭代項,因此只需將其定義為類變量(在任何函數之外),並且不覆蓋start_requests就可以根據需要工作。

試着做:

import scrapy


class QuotesSpider(scrapy.Spider):

    name = "gov2"
    start_urls = ["https://beta.companieshouse.gov.uk/search?q=a"]

    def parse(self, response):
        products = response.xpath('//*[@id="results"]').extract()
        print(products)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM