Поиск Google Python: Хиты в пределах диапазона дат являются неточными
Я пытался написать код, чтобы очистить количество посещений в определенном диапазоне дат в Google. Я сделал это, вставив дату в поисковый запрос Google. Когда я копирую и вставляю ссылку, которую он создает, он дает мне правильный запрос, но когда код запускает его, я продолжаю получать количество обращений к поиску без диапазона дат. Я не уверен, что я делаю не так здесь.
from bs4 import BeautifulSoup
import requests
import re
from datetime import date, timedelta
day = date.today()
friday = day - timedelta(days=day.weekday() + 3) + timedelta(days=7)
word = "debt"
for n in range(0,32,7):
date_end = friday - timedelta(days=n)
date_beg = date_end - timedelta(days=4)
link_beg = "https://www.google.com/search?q=%s&source=lnt&tbs=cdr%%3A1%%2Ccd_min%%3A" % (word)
link_date = "%s%%2F%s%%2F%s%%2Ccd_max%%3A%s%%2F%s%%2F%s&tbm=&gws_rd=ssl" % (str(date_beg.month),str(date_beg.day),str(date_beg.year),str(date_end.month),str(date_end.day),str(date_end.year))
url = link_beg + link_date
print url,
print "\t",
r = requests.get(url)
soup = BeautifulSoup(r.content)
products = soup.findAll("div", id = "resultStats")
result = str(products[0])
results = re.findall(r'\d+', result)
number = ''.join([str(i) for i in results])
print number
Например, одна из ссылок, которая создается это:
Поиск Google для "долга" в диапазоне дат "с 9 марта 2015 года по 13 марта 2015 года"
Хиты должны быть: 39 700 000
Но вместо этого он выплевывает: 293 000 000 (это то, что производит только общий поиск)
1 ответ
Поиск в Google с ограниченным диапазоном дат основан на юлианских датах, т. Е. Диапазон должен быть указан в юлианской номенклатуре. Возможно, вы уже поняли это.
милые котята финикового ряда:[какое-то юлианское свидание]-[еще одно юлианское свидание] (без скобок).
Существуют веб-страницы, которые можно преобразовать в юлианский, или использовать скрипт Python jDate или скрипт оболочки jday.