После небольшой проверки я обнаружил, что время, когда Google отправляет информацию о фильтрации по значению qdr
на ключ tbs
(возможно, означает time based search
, хотя это официально не указано):
https://www.google.com/search?tbs=qdr:h1&q=stackoverflow
Получает результаты за прошедший час.Буквы m
и y
могут использоваться для месяцев и лет соответственно.
Кроме того, чтобы добавить функцию сортировки по дате, добавьте также значение sbd
(должно означать sort by date
): https://www.google.com/search?tbs=qdr:h1,sbd:1&q=stackoverflow
Мне удалось вставить эти ключевые слова в BASEGoogle URL GoogleScraper.Вставьте ниже строки в конец метода get_base_search_url_by_search_engine()
(непосредственно перед return
) в scraping.py
:
if("google" in str(specific_base_url)):
specific_base_url = "https://www.google.com/search?tbs=qdr:{},sbd:1".format(config.get("time_filter", ""))
Теперь используйте параметр time_filter
в вашей конфигурации:
from GoogleScraper import scrape_with_config
config = {
'use_own_ip': True,
'keyword_file': "keywords.txt",
'search_engines': ['google'],
'num_pages_for_keyword': 2,
'scrape_method': 'http',
"time_filter": "d15" #up to 15 days ago
}
search = scrape_with_config(config)
Результаты будут включать только временной диапазон.Кроме того, фрагменты текста в результатах будут иметь необработанную информацию о дате:
one_sample_result = search.serps[0].links[0]
print(one_sample_result.snippet)
4 минуты назад. Это должно быть довольно просто - пусть propertytotalPriceOfOrder = order.items.map (item => + item.unit* + item.quantity * + item.price) ;.где order - весь ваш объект json.