Я создаю веб-скребок для разных магазинов новостей, для Nytimes и Guardian это было легко, так как они имеют свой собственный API.web scraping google news with python
Теперь я хочу получить результаты этой газеты GulfTimes.com. Они не предоставляют расширенный поиск на своем веб-сайте, поэтому я прибегал к новостям Google. Однако новости Google Api устарели. Я хочу получить количество результатов расширенного поиска, например ключевое слово = «Египет» и begin_date = «10/02/2011» и end_date = «10/05/2011».
Это возможно в пользовательском интерфейсе Google News, просто добавив источник как «Gulf Times» и соответствующий запрос и дату, и просто подсчитав количество результатов вручную, но когда я попытаюсь сделать это с помощью python, я получаю 403 ошибка, которая понятна.
Любая идея о том, как я буду это делать? Или есть еще одна услуга помимо новостей Google, которая позволила бы мне это сделать? Помня о том, что я бы выпустил сразу почти 500 запросов.
import json
import urllib2
import cookielib
import re
from bs4 import BeautifulSoup
def run():
Query = "Egypt"
Month = "3"
FromDay = "2"
ToDay = "4"
Year = "13"
url='https://www.google.com/search?pz=1&cf=all&ned=us&hl=en&tbm=nws&gl=us&as_q='+Query+'&as_occt=any&as_drrb=b&as_mindate='+Month+'%2F'+FromDay+'%2F'+Year+'&as_maxdate='+Month+'%2F'+ToDay+'%2F'+Year+'&tbs=cdr%3A1%2Ccd_min%3A3%2F1%2F13%2Ccd_max%3A3%2F2%2F13&as_nsrc=Gulf%20Times&authuser=0'
cj = cookielib.CookieJar()
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
request = urllib2.Request(url)
response = opener.open(request)
htmlFile = BeautifulSoup(response)
print htmlFile
run()
Это будет гораздо более полезным, если вы предоставляете любой код, который вы написали до сих пор. Благодарю. – alecxe
Я добавил только простой стартовый код. –