Python获取谷歌搜索结果
由于公司项目需要获取谷歌搜索结果。可是谷歌搜索出来的结果大多都不足20页。直接上代码
import time from pprint import pprint import requests from bs4 import BeautifulSoup class GoogleSpider: def __init__(self, **kwargs): self.keyword = kwargs.get("keyword") def __del__(self): pass def search(self, **kwargs) -> list: data = [] if kwargs.get("keyword") is None: if self.keyword is None: return [] else: query = self.keyword else: query = kwargs.get("keyword") query = query.replace(' ', '+') URL = f"http://google.com/search?q={query}" page = 1 while True: try: print("当前正在搜索【" + str(query) + "】,当前第" + str(page) + "页...") USER_AGENT = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:65.0) Gecko/20100101 Firefox/65.0" headers = {"user-agent": USER_AGENT} resp = requests.get(URL, headers=headers, verify=True) if resp.status_code == 200: soup = BeautifulSoup(resp.content, "html.parser") nextpage = soup.find_all("a", id="pnnext") if len(nextpage) > 0 and 'href' in nextpage[0].attrs: nextpage = str(nextpage[0]['href']) URL = r"http://www.google.com" + nextpage results = [] for g in soup.find_all('div', class_='g'): anchors = g.find_all('a') if anchors: if 'href' in anchors[0].attrs: link = anchors[0]['href'] title_list = list(g.find_all('h3')) if len(title_list) > 0: title_str = title_list[0] title_soup = BeautifulSoup(str(title_str), 'html.parser') title_text = title_soup.get_text() title_soup.clear() item = { "title": title_text, "link": link } results.append(item) data.append({ page: results }) page += 1 resp.close() time.sleep(1) else: break except Exception as e: pprint(e) break return data
from GoogleSpider import GoogleSpider if __name__ == "__main__": gs = GoogleSpider() keyword = "china" data = gs.search(keyword=keyword) print(data)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理