当前位置: 首页 > news >正文

Python爬虫

一、Python 爬虫核心概念

Python 爬虫本质是模拟浏览器向目标网站发送请求,获取网页数据后解析提取有用信息的程序,核心价值是批量、自动化获取公开网络数据,适用于数据分析、舆情监控、信息聚合等场景。

核心流程(四步走)

  • 发送请求:模拟浏览器向网站服务器发送 HTTP/HTTPS 请求(如 GET/POST);
  • 获取响应:服务器返回网页源码(HTML/JSON/XML);
  • 解析数据:从源码中提取目标信息(如标题、价格、链接);
  • 保存数据:将提取的信息存为 CSV/Excel/ 数据库等格式。

二、必备工具库(环境准备)

1. 基础环境

需安装 Python 3.8+(推荐 3.10),通过pip安装核心库:

bash

运行

# 基础库(必装) pip install requests beautifulsoup4 lxml # 处理动态页面(可选) pip install selenium # 爬虫框架(进阶) pip install scrapy # 数据保存(可选) pip install pandas openpyxl
2. 核心库功能说明
库名核心作用适用场景
requests发送 HTTP 请求,获取网页响应静态网页爬取(90% 场景)
BeautifulSoup4 (bs4)解析 HTML/XML 源码,提取指定内容静态网页数据解析
lxml高性能 HTML/XML 解析库(支持 XPath)复杂结构网页解析
selenium模拟浏览器渲染动态页面(如 JS 加载的内容)动态网页(如淘宝、抖音)
Scrapy专业爬虫框架,支持并发、反爬、数据持久化大型、批量爬虫项目

三、基础实战:爬取静态网页(新手必学)

以爬取豆瓣 Top250 图书(静态网页)为例,实现完整爬虫流程:

python

运行

import requests from bs4 import BeautifulSoup import pandas as pd # 1. 配置请求头(模拟浏览器,避免被反爬) headers = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36" } # 2. 定义爬虫函数 def crawl_douban_book(): # 存储数据的列表 book_list = [] # 爬取第一页(豆瓣Top250图书第一页) url = "https://book.douban.com/top250?icn=index-book250-all" try: # 发送GET请求 response = requests.get(url, headers=headers, timeout=10) response.raise_for_status() # 检查请求是否成功(状态码200) response.encoding = response.apparent_encoding # 自动识别编码,避免乱码 # 3. 解析网页源码 soup = BeautifulSoup(response.text, "lxml") # 定位图书列表节点 book_items = soup.find_all("tr", class_="item") # 提取每本图书的信息 for item in book_items: book_info = {} # 提取书名 book_info["title"] = item.find("div", class_="pl2").find("a")["title"] # 提取评分 book_info["score"] = item.find("span", class_="rating_nums").text # 提取简介 book_info["intro"] = item.find("p", class_="pl").text.strip() # 加入列表 book_list.append(book_info) # 4. 保存数据为Excel df = pd.DataFrame(book_list) df.to_excel("豆瓣Top250图书_第一页.xlsx", index=False) print("爬取完成!数据已保存为Excel文件") except Exception as e: print(f"爬取出错:{e}") # 执行爬虫 if __name__ == "__main__": crawl_douban_book()
代码说明:
  • headers:设置 User-Agent 模拟浏览器,避免被网站识别为爬虫;
  • requests.get():发送 GET 请求获取网页源码;
  • BeautifulSoup:通过标签 + 类名定位元素,提取书名、评分等信息;
  • pandas:将数据保存为 Excel,方便后续分析。
运行结果:

生成豆瓣Top250图书_第一页.xlsx文件,包含每本图书的书名、评分、作者 / 出版社等信息。

四、进阶技巧:应对反爬与动态页面

1. 常见反爬策略及应对
反爬手段应对方法
检测 User-Agent配置真实的 User-Agent,甚至随机切换
限制请求频率加入延时(time.sleep(1-3)),避免高频请求
IP 封禁使用代理 IP 池(如快代理、芝麻代理)
验证码对接打码平台(如超级鹰)或手动识别
2. 爬取动态页面(Selenium 示例)

针对 JS 加载的页面(如某电商商品价格),用 Selenium 模拟浏览器:

python

运行

from selenium import webdriver from selenium.webdriver.common.by import By import time # 初始化浏览器(需提前下载ChromeDriver,与浏览器版本匹配) driver = webdriver.Chrome() try: # 打开目标页面 driver.get("https://www.xxx.com/xxx") time.sleep(2) # 等待页面加载 # 提取动态加载的价格 price = driver.find_element(By.CLASS_NAME, "price").text print(f"商品价格:{price}") finally: driver.quit() # 关闭浏览器

五、合规与注意事项(必看)

  1. 遵守 robots 协议:访问目标网站https://xxx.com/robots.txt,查看允许爬取的范围;
  2. 控制请求频率:避免短时间高频请求,给服务器造成压力(建议每次请求间隔 1-3 秒);
  3. 仅爬取公开数据:禁止爬取隐私信息(如手机号、身份证)、付费内容,避免法律风险;
  4. 注明数据用途:爬取的数据仅限个人学习 / 研究,禁止商用或恶意传播。

总结

  1. Python 爬虫核心流程:发请求→取响应→解析数据→存数据,新手先掌握requests+bs4爬取静态页面;
  2. 反爬应对核心:模拟真实浏览器行为(请求头、延时),避免高频请求;
  3. 合规第一:遵守网站规则,仅爬取公开、非隐私数据,避免法律风险。
http://www.jsqmd.com/news/293590/

相关文章:

  • 高适配geo优化服务商:2026年1月中小企业启动营销计划优选推荐
  • GoLand 2025 新手入门配置下载安装全攻略:环境搭建 + 调试实操
  • 电脑版微信小程序路径
  • 合肥腹直肌康复修复服务怎么联系?这几种方式要知道
  • 2026年比较好的办公室搬迁专业公司排行榜,安徽好为民搬家公司表现出色
  • 热议金属材料分析仪,碳硫分析仪靠谱供应商Top10公布
  • 无缝钢管靠谱企业推荐,东坤伟业为全国项目赋能
  • 2026预制检查井价格大揭秘,专业的检查井厂家排名情况
  • 盘点哈氏合金优质品牌商,宜岳特材凭啥赢得客户一致好评?
  • Aspire 开发者控制平面 (DCP) 开源
  • 2026年1月靠谱GEO优化公司:适配企业全阶段营销计划落地
  • 年度爆款!2025新中式服装批发必选的经典款式,新中式服装选哪家优选品牌推荐与解析
  • GamePadControl 部署与配置指南
  • 2025年国内知名的尘埃在线监测系统生产厂家排行榜,激光尘埃粒子计数器 /尘埃粒子检测仪 厂家推荐榜
  • 2026年非标链条口碑品牌大盘点,工业链条/不锈钢链条/非标链条/链条,非标链条生产厂家哪个好
  • 2026年红色教育馆策划设计公司排行,盛世笔特凭啥领先
  • 轻量不减性能:基于 CCFM + SENetV2 的 YOLOv8x8 融合模型设计与实践指南
  • 2026年智能AI办公鼠标TOP10揭晓,含AI智能办公鼠标有哪些
  • 职业技术学校哪家可靠,选郑州新东方烹饪学校有啥优势?
  • 『折行内注』术幼稚版范例——“九九表”精致打印
  • 从 PyTorch 到 TensorRT:YOLOv8 C++ 部署的极限性能优化完全指南
  • ACTEL XILINX ALTERA ASIC can controller IP
  • 让终端渲染社稷简单色变——记我和DeepSeek关于ANSI-COLOR的『论道』:“色域状态机”(DeepSeek-R1企业微信版基于对话自成文章)
  • 【收藏】大模型别只用来聊天!手把手教你搭建运维场景AI Agent,自动汇总告警生成报告
  • 收藏!AI不是抢饭碗,是造新岗:程序员与小白必懂的大模型时代机遇
  • K8S RD: Kubernetes 日志收集、核心组件与集群管理全解析 - 指南
  • 2026年1月AI搜索geo优化公司推荐:助力企业营销计划实现精准流量转化
  • 2026年东北三省口碑好的消防施工专业公司Top10,立显消防在列
  • 2026年盘点口碑比较好的工业吸干机老牌厂家Top10
  • 合金塑料回收选择指南:2026年需关注的五大关键点,市场技术好的合金塑料回收推荐优质品牌榜单更新