Scrapy: как начать сбор данных из результатов поиска, использующих Javascript - PullRequest
0 голосов
/ 10 мая 2019

Я новичок в использовании scrapy и python. Я хотел начать очистку данных из результатов поиска. Если вы загрузите страницу, появится содержимое по умолчанию, что мне нужно очистить - это фильтрованное при выполнении разбиения на страницы?

Вот URL-адрес https://teslamotorsclub.com/tmc/post-ratings/6/posts Мне нужно очистить элемент из фильтра времени: результат «Сегодня»

Я пробовал другой подход, но ни один не работает.

Что ясделали это, но больше о структуре макета.

class TmcnfSpider(scrapy.Spider):
name = 'tmcnf'
allowed_domains = ['teslamotorsclub.com']
start_urls = ['https://teslamotorsclub.com/tmc/post-ratings/6/posts']

def start_requests(self):
    #Show form from a filtered search result

def parse(self, response):

    #some code scraping item

#Yield url for pagination

1 Ответ

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

Чтобы получить фильтр сообщений сегодняшнего дня, вам необходимо отправить запрос на этот URL https://teslamotorsclub.com/tmc/post-ratings/6/posts вместе с полезной нагрузкой. Следующее должно принести вам интересующие вас результаты.

import scrapy

class TmcnfSpider(scrapy.Spider):
    name = "teslamotorsclub"
    start_urls = ["https://teslamotorsclub.com/tmc/post-ratings/6/posts"]

    def parse(self,response):
        payload = {'time_chooser':'4','_xfToken':''}
        yield scrapy.FormRequest(response.url,formdata=payload,callback=self.parse_results)

    def parse_results(self,response):
        for items in response.css("h3.title > a::text").getall():
            yield {"title":items.strip()}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...