news 2026/9/30 19:31:23

python爬虫学习(搜索)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
python爬虫学习(搜索)

python实现打开网站并进行搜索操作

打开B站搜索python

from selenium import webdriver from selenium.webdriver.edge.options import Options from selenium.webdriver.common.keys import Keys from selenium.webdriver.common.by import By from selenium.webdriver.edge.service import Service import os # ========== 1. 修复核心错误 ========== # 错误1:路径含多余空格("AppLication" 拼写错误+路径空格) EDGE_BROWSER_PATH = r"C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe" # 错误2:必须指定 EdgeDriver 路径(之前的环境问题) EDGEDRIVER_PATH = r"C:\Users\叶梓聪\AppData\Local\Programs\Python\Python37\Scripts\msedgedriver.exe" # 替换为你的驱动路径 # ========== 2. 配置 Edge 选项 ========== edge_options = Options() edge_options.binary_location = EDGE_BROWSER_PATH # 修复路径+拼写错误 # 关闭日志干扰 edge_options.add_experimental_option('excludeSwitches', ['enable-logging']) # 禁用自动化提示 edge_options.add_argument('--disable-blink-features=AutomationControlled') # ========== 3. 配置驱动服务 ========== # 临时加入环境变量(避免 PATH 问题) os.environ["PATH"] += os.pathsep + os.path.dirname(EDGEDRIVER_PATH) service = Service(executable_path=EDGEDRIVER_PATH) # ========== 4. 启动浏览器 ========== driver = webdriver.Edge(service=service, options=edge_options) driver.maximize_window() # 最大化窗口,避免元素被遮挡 driver.implicitly_wait(10) # 隐式等待10秒,确保页面加载完成 # ========== 5. 修复元素定位+方法名错误 ========== driver.get('http://www.bilibili.com') # 错误3:find_eLement 拼写错误(L大写)→ 正确:find_element # 错误4:TAG_NAME 定位input会找到多个元素,改用B站搜索框专属定位 search_box = driver.find_element(By.ID, "nav-searchform") # B站搜索框父元素 input_box = search_box.find_element(By.TAG_NAME, "input") # 精准定位搜索输入框 # 错误5:清空原有内容(避免残留)+ 输入关键词 + 回车 input_box.clear() input_box.send_keys("Python" + Keys.RETURN) # 等待用户输入,保持浏览器打开 input('按回车键关闭浏览器...') driver.quit() # 最后关闭浏览器

爬取百度搜图图片

'''爬取图片(find_element)2.0''' import requests import os import time if not os.path.exists("./命运二"): os.mkdir("./命运二") #批量化下载网页资源 from selenium import webdriver from selenium.webdriver.edge.options import Options from selenium.webdriver.common.by import By edge_options = Options() edge_options.binary_location =r"C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe" driver=webdriver.Edge(options=edge_options) driver.get('https://image.baidu.com/search/index?tn=baiduimage&ie=utf-8&word=命运二')#执行JavaScript滚动操作 driver.execute_script("window.scrollTo(0, document.body.scrollHeight);") time.sleep(5) img_list=driver.find_elements(By.XPATH, value="//img[@class='img_7rRSL']")# print(img_list) i=1 for img in img_list: #获取图片的src属性 img_url = img.get_attribute("src") img_data = requests.get(img_url) #保存图片到文件 with open(f"./命运二/{i}.png",'wb') as f: f.write(img_data.content) i +=1

爬取购物网站好评,并变成文档

from selenium import webdriver from selenium.webdriver.edge.options import Options from selenium.webdriver.common.by import By import time import os # ========== 核心修复1:路径错误 + 驱动配置 ========== # 错误1:路径多余空格 + AppLication拼写错误(L大写) EDGE_BROWSER_PATH = r"C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe" # 错误2:必须指定EdgeDriver路径(解决找不到驱动问题) EDGEDRIVER_PATH = r"C:\Users\叶梓聪\AppData\Local\Programs\Python\Python37\msedgedriver.exe" # ========== 核心修复2:配置Edge浏览器并启动 ========== edge_options = Options() edge_options.binary_location = EDGE_BROWSER_PATH # 正确的浏览器路径 edge_options.add_experimental_option('excludeSwitches', ['enable-logging']) # 关闭日志干扰 # 临时将驱动路径加入环境变量(避免PATH问题) os.environ["PATH"] = os.path.dirname(EDGEDRIVER_PATH) + os.pathsep + os.environ["PATH"] # 启动浏览器(必须先启动driver,才能用driver定位元素) driver = webdriver.Edge(options=edge_options) driver.maximize_window() driver.implicitly_wait(10) # 元素定位超时时间(防页面加载慢) # 补充:打开目标网页(你原代码缺失,需替换为实际爬取评论的网址) driver.get("https://review.suning.com/cluster_cmmdty_review/cluster-38249278-000000012389328846-0000000000-1-good.htm?originalCmmdtyType=general&safp=d488778a.10004.loverRight.166") # 替换为你要爬取评论的页面URL # ========== 核心修复3:文件操作(用with更安全) ========== # 错误3:直接open文件未做容错,改用with上下文管理器(自动关闭) with open('好评1.txt', 'w', encoding='utf8') as hp_file: # ========== 核心修复4:函数定义(传参+拼写+语法) ========== def get_py_content(driver, file): # 错误4:传参缺失driver;fiLe拼写错误→file # 错误5:pj_elments_content拼写错误→pj_elements_content;多余空格删除 # 错误6:driver未传参,需作为参数传入 pj_elements_content = driver.find_elements(by=By.CLASS_NAME, value='body-content') # 错误7:elment拼写错误→element;file.write而非fiLe for element in pj_elements_content: if element.text: # 容错:过滤空评论 file.write(element.text.strip() + '\n') # strip()去首尾空格 # ========== 核心修复5:调用函数(传入driver和文件对象) ========== get_py_content(driver, hp_file) # 错误8:原代码未传driver # ========== 核心修复6:下一页逻辑(语法+拼写+判断) ========== # 错误9:next_elements拼写错误→next_elements;多余空格删除 # 错误10:XPath中class值末尾多余空格,需和网页一致(建议简化) next_elements = driver.find_elements(by=By.XPATH, value='//a[@class="next rv-maidian"]') print(f"找到下一页按钮数量:{len(next_elements)}") # 错误11:while判断逻辑优化(判断长度而非空列表) while len(next_elements) > 0: next_element = next_elements[0] time.sleep(1) # 错误12:sLeep拼写错误→sleep next_element.click() # 点击下一页 time.sleep(2) # 等待页面加载完成(比1秒更稳妥) get_py_content(driver, hp_file) # 重新获取当前页评论 # 错误13:driver,find_elements多余逗号→driver.find_elements # 错误14:next_eLements拼写错误→next_elements;多余空格删除 next_elements = driver.find_elements(by=By.XPATH, value='//a[@class="next rv-maidian"]') # 错误15:原代码hp_file.close()在with外无意义(with已自动关闭) print("✅ 评论爬取完成,文件已保存为 好评1.txt") driver.quit() # 关闭浏览器

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/30 7:10:52

2、深入探索Bash脚本编程

深入探索Bash脚本编程 1. 技术要求 在开始Bash脚本编程之前,需要满足以下技术要求: - 运行中的Linux系统 :任何Linux发行版都可以,因为现在所有的Linux发行版都预装了Bash shell。 - 安装Visual Studio Code :可以从 这里 免费下载并安装。VS Code具有代码补全、…

作者头像 李华
网站建设 2026/9/30 9:11:34

grafana 未授权访问漏洞设置iptables指定IP访问,拒绝其他所有IP

1、查询规则 iptables -L --line-numbers iptables -t raw -L PREROUTING --line-numbers 2、非集群部署(主机)时,设置INPUT规则时就能生效 -- 允许指定IP访问 iptables -A INPUT -s IP值 -p tcp --dport gfafana端口号 -j ACCEPT-- 拒绝其…

作者头像 李华
网站建设 2026/9/30 15:06:24

Windows 查看本次开机时间

在Windows系统中,可以通过多种CMD命令来查看电脑的开机时间。以下是几种常用的方法:1. 使用 systeminfo 命令这是最常用且简单的方法。在命令提示符中执行此命令后,可以快速找到系统的启动时间。操作步骤:按下 Win R 键&#xff…

作者头像 李华
网站建设 2026/9/28 11:58:24

在北京,寻找能聊创业、聊生活、一起向上的同行者

在北京这座快节奏的城市里,你是否也常觉得:想聊创业思路时,身边少个能懂你野心的人;想解锁生活乐趣时,找不到合拍的同伴?其实好的同行者,或许只差一个相遇的契机。超哥做新媒体创业,…

作者头像 李华
网站建设 2026/9/29 5:43:13

vue基于Springboot框架的摄影作品分享活动参与网站

目录已开发项目效果实现截图开发技术系统开发工具:核心代码参考示例1.建立用户稀疏矩阵,用于用户相似度计算【相似度矩阵】2.计算目标用户与其他用户的相似度系统测试总结源码文档获取/同行可拿货,招校园代理 :文章底部获取博主联系方式&…

作者头像 李华
网站建设 2026/9/30 5:36:29

vue基于Springboot框架的网上购物商城抽奖系统 商家

目录已开发项目效果实现截图开发技术系统开发工具:核心代码参考示例1.建立用户稀疏矩阵,用于用户相似度计算【相似度矩阵】2.计算目标用户与其他用户的相似度系统测试总结源码文档获取/同行可拿货,招校园代理 :文章底部获取博主联系方式&…

作者头像 李华