如何使用循环将带有来自 googlesearch 的链接的列表附加到另一个列表?
Posted
技术标签:
【中文标题】如何使用循环将带有来自 googlesearch 的链接的列表附加到另一个列表?【英文标题】:How do I append a list with links from a googlesearch to another list using loop? 【发布时间】:2020-06-03 02:32:37 【问题描述】:几周前我开始学习 Python。
使用此代码,我想用谷歌搜索 CitiesList 中的每个 str,并使用循环将谷歌返回的前 3 个 URL 放入另一个列表中。像那样简单,但对我来说编码并不那么简单,哈哈
此代码仅返回 city1 结果,但我想做的是 Links[] 在其中包含 18 个 URL。 -> 6 个城市 x 3 个 URL/城市 = 18 个 URL
谢谢! :)
import pandas as pd
from googlesearch import search
Cities = [city1, city2, city3, city4, city5, city6]
y = []
x = 0
links = []
for j in search(Cities[x],start=0, stop=3, pause=2):
links = links[:] + [j]
y.append(links)
x = x + 1
print(links)
【问题讨论】:
你想在这里用links
做什么?你在每次迭代时将它重置为一个空列表,所以它总是空的,然后你做links = links[:] + [j]
但links[:]
然后我没有意义,你可以做links = [j]
...但我不认为这就是你的意图?我不清楚你想做什么。
【参考方案1】:
欢迎来到 Python 的世界;)。一年前我开始了我的旅程(拥有 20 年的 .net 经验)
我看到您只是在搜索结果中循环 (for),但您并没有在您的城市中循环。所以这就是我创建两个嵌套循环的原因。一个用于您的城市,一个用于您返回的每个结果。我也改成了一个列表,但如果你愿意的话,显然你可以继续使用数组
我相信这应该可行:
links = list()
for city in Cities :
for result in search(city, start=0, stop=3, pause=2):
links.append(result)
【讨论】:
谢谢老兄!真的帮助我,我从这里得到的所有支持让我保持动力! :)以上是关于如何使用循环将带有来自 googlesearch 的链接的列表附加到另一个列表?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用带有串行内循环的openMP并行化外循环以进行数组添加