Категоризация новостей Google по типу источника - PullRequest
0 голосов
/ 04 апреля 2019

Для текущего проекта я создал веб-скребок, который собирает количество результатов Новостей Google для данного поискового запроса.

Для более подробного анализа результатов я хотел бы добавить инструмент категоризации, который позволяет распределять новости по типу (например, газета, блог, пресс-релиз).

Существует ли какой-либо жизнеспособный метод фильтрации или распределения результатов Новостей Google по типу с помощью scrapy / python (возможно, также с поддержкой внешних инструментов или алгоритмов)? Буду признателен, если у кого-то есть идея.

import scrapy
import time

custom_settings = {
'USER_AGENT': "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/22.0.1207.1 Safari/537.1"
}

class QuotesSpider(scrapy.Spider):
    name = 'spider1'
    allowed_domains = ['google.com']
    start_urls = ["https://www.google.com/search?&hl=en&q=3M&biw=1280&bih=607&source=lnt&tbs=cdr%3A1%2Ccd_min%3A01%2F01%2F2004%2Ccd_max%3A12%2F31%2F2007&tbm=nws"]
    user_agent = 'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.157 Safari/537.36'

    def parse(self, response):
        item = {
            'results': response.css('#resultStats::text')[0].extract(),
            'url': response.url,
        }
        yield item
        time.sleep(1)

1 Ответ

2 голосов
/ 05 апреля 2019

Вы можете увидеть на странице некоторые статьи do с такими классификаторами, как "блог" или "пресс-релиз": google news

Что означает, что вы можетевыберите их с помощью селекторов xpath или css.Что-то вроде //h3/following-sibling::div[@class='slp']//text() подойдет.

...