Выходной файл Scrapy пуст - PullRequest
0 голосов
/ 02 мая 2019

Я создал паука-скрапа, но когда я запускаю команду

scrapy crawl scrapytest -o output.json

, он запускается, но выходной отчет пуст.Я знаю, что xpath правильный, поэтому я не совсем уверен.Все еще действительно плохо знаком с терапией.Любая помощь приветствуется

import scrapy

class TestspiderSpider(scrapy.Spider):

    name = 'testspider'
    allowed_domains = ['bing.com']
    start_urls = ['http://www.bing.com/']
    url = [
            'https://www.bing.com/search?q=sample+search&FORM=AWRE'
          ]
    def parse(self, response):
        response.xpath('//*[@class="b_algo"]/h2/a/text()').extract()
        yield scrapy.Request(url = url, callback = self.parse)

Ответы [ 2 ]

0 голосов
/ 02 мая 2019

Ваш код не дает никаких данных.

Вам нужно получить словари или экземпляры подкласса класса Scrapy Item, содержащего извлеченные данные для этих данных, чтобы достичь выходного файла.

См. соответствующий раздел из учебника Scrapy .

0 голосов
/ 02 мая 2019

Bing знает, что вы не используете обычный браузер, поэтому поэкспериментируйте с заголовками.

Попробуйте эти настройки в settings.py {только для scrapy}:

USER_AGENT  = 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/532.2 (KHTML, like Gecko) ChromePlus/4.0.222.3 Chrome/4.0.222.3 Safari/532.2'
DEFAULT_REQUEST_HEADERS = {
    'accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3',
    'accept-language': 'en-US,en;q=0.9',
    'cache-control': 'no-cache',
    'cookie': 'MUID=; SRCHD=AF=NOFORM; SRCHUID=1; SRCHUSR=; _EDGE_S=SID=; MUIDB=; _SS=SID=; ipv6=; SRCHHPGUSR=;',
    'pragma': 'no-cache',
    'upgrade-insecure-requests': '1',
    'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.103 Safari/537.36'
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...