Tworzę skrobaczkę do różnych serwisów informacyjnych, dla Nytimes i The Guardian było to łatwe, ponieważ mają one własne API.web scraping google news z pythonem
Teraz chcę zdrapać wyniki z tej gazety GulfTimes.com. Nie udostępniają zaawansowanego wyszukiwania w swojej witrynie, więc uciekłem się do wiadomości Google. Jednak Google News Api jest przestarzałe. Chcę uzyskać liczbę wyników wyszukiwania zaawansowanego, takich jak słowo kluczowe = "Egipt" i begin_date = "10/02/2011" oraz end_date = "10/05/2011".
Jest to wykonalne w Google News UI po prostu przez umieszczenie źródła jako "Gulf Times" oraz odpowiedniego zapytania i daty, po prostu licząc ręcznie liczbę wyników, ale kiedy próbuję to zrobić przy użyciu Pythona, otrzymuję 403 błąd, który jest zrozumiały.
Każdy pomysł, jak to zrobić? A może jest inna usługa poza wiadomościami Google, które pozwolą mi to zrobić? Mając na uwadze, że będę wydawał prawie 500 żądań na raz.
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()
To będzie znacznie bardziej przydatna, jeśli podasz żadnego kodu napisałeś do tej pory. Dzięki. – alecxe
Dodałem tylko prosty kod startowy. –