一个月前使用 pygooglenews ,它可以正常工作,但是现在似乎出现错误:
Could not parse your date
有人知道如何绕过这个或六个这个问题吗?
gn = GoogleNews(lang = 'en')
def get_news(search):
stories = []
start_date = datetime.date(2020,1,1)
end_date = datetime.date(2021,12,31)
delta = datetime.timedelta(days=1)
date_list = pd.date_range(start_date, end_date).tolist()
for date in date_list[:-1]:
result = gn.search(search, from_=(date).strftime('%Y-%m-%d'), to_=(date+delta).strftime('%Y-%m-%d'))
newsitem = result['entries']
for item in newsitem:
story = {
'title':item.title,
'link':item.link,
'published':item.published
}
stories.append(story)
return stories
我也尝试过更改为简单的日期格式
gn.search('Christmas', helper = True, from_ = '2019/12/01', to_= '2019/12/31')
仍然收到
Could not parse your date
错误。
我也遇到了同样的问题,但我通过重新安装正则表达式包修复了它。 这就是我所做的。
!pip install regex==2022.3.2
我的问题解决了。
我搜索了几个源来找到问题,似乎最新的正则表达式有错误。因此,当您降级正则表达式版本时,可能会有所帮助。
希望这个解决方案对您有帮助!
主要原因是因为格式是mm/dd/yy所以你需要更改为
gn.set_time_range('12/01/2019','12/31/2019')
gn.set_encode('utf-8')
gn.search('Christmas')
解决方案,
在文件 ../pygooglenews/init.py 的开头,替换行:
from dateparser import parse as parse_date
与
from datetime import datetime
并添加:
def parse_date(date_string):
return datetime.strptime(date_string, '%Y-%m-%d')