如何获取搜索响应URL列表


from bs4 import BeautifulSoup
import requests
searchresults = []
search = 'seo'
url = 'https://www.google.com/search'
headers = {
'Accept' : '*/*',
'Accept-Language': 'en-US,en;q=0.5',
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.82',
}
parameters = {'q': search}
content = requests.get(url, headers = headers, params = parameters).text
soup = BeautifulSoup(content, 'html.parser')
search = soup.find(id = 'search')
first_link = search.find('a')
searchresults.append(first_link['href'])
for i,j in enumerate(searchresults):
print(searchresults[i])

如何返回整个搜索结果URL列表?我想稍后添加多个页面,以便我可以索引所有的URL

如果您想从搜索结果中获得所有链接,请在search = soup.find(id = 'search'):之后替换您的代码

a_tags = search.find_all('a', href=True)
searchresults = [i['href'] for i in a_tags]
for i,j in enumerate(searchresults):
print(j)

您的代码当前提供一个1链接,因为您使用的是search.find('a'),它提供第一个结果,而不是search.find_all('a', href=True),它提供所有具有链接的a标记。

最新更新