【发布时间】:2022-01-08 16:56:23
【问题描述】:
我正在尝试从使用谷歌新闻的搜索中返回一个 URL 列表。我正在使用 GoogleNews 和 pandas 数据框模块来组织结果。然后我使用 pywebcopy 获取这些 URL 并下载网页。
现在,我的 for 循环每次增加 9 个而不是 1 个,我认为这是使用 save_webpage 函数下载网页时的问题。我相信 save_webpage 函数一次只能处理 1 个 URL。我不知道如何缩短返回结果的范围。
我尝试过调整范围,但 (1,1) 似乎是它可以达到的最低值,并且总是返回 9 个 URL 而不是 1。
这是我的代码:
from GoogleNews import GoogleNews
from newspaper import Article
import pandas as pd
googlenews=GoogleNews(start = '12/01/2021',end= '12/31/2021')
googlenews.search('test search')
result=googlenews.result()
df=pd.DataFrame(result)
for i in range(1,1):
googlenews.getpage(i)
result=googlenews.result()
df=pd.DataFrame(result)
list = []
for ind in df.index:
try:
dict={}
article = Article(df['link'][ind])
article.download()
article.parse()
dict['Article Title'] = article.title
dict['Article Text'] = article.text
url = str(df['link'])
print(str(url))
download_folder = 'C:\Test_Data'
kwargs = {'bypass_robots': True, 'project_name': 'PROJECT'}
save_webpage(url, download_folder, **kwargs)
list.append(dict)
except:
pass
【问题讨论】:
-
range(start, stop, step)-> 你想用range(1, 1)达到什么目的? -
for loop increments in groups of 9 instead of 1 at a time哪一个?有两个 for 循环。 -
如果你不接受
try: ... except: pass的所有异常会发生什么? -
@Mr.T - 我正在尝试从结果变量的结果中获取 1 个 URL。我明白你在说什么,这让我对事情有了不同的看法。
-
@NickODell 它发生在第一个 for 循环中。我的范围(1,1)逻辑似乎有问题。很抱歉没有澄清这一点。
标签: python python-3.x pandas pygooglenews