Python实现Web开发中爬取网页数据的详细教程【教程】

2次阅读

python网页爬取推荐requests+beautifulsoup组合,需加headers防403、手动设编码防乱码、用开发者工具精确定位标签,配合fake_useragent随机UA、time.sleep控频、检查robots.txt,并以UTF-8-SIG编码保存csv/jsON。

Python实现Web开发中爬取网页数据的详细教程【教程】

用Python爬网页不难,关键在选对工具、避开反爬、处理好编码和结构。下面直接说实用步骤,不绕弯。

选对库:requests + BeautifulSoup 最适合新手

requests负责发请求拿html,BeautifulSoup负责解析提取内容。不用selenium(太重),也不推荐urllib(写起来麻烦)。

  • 安装命令:pip install requests beautifulsoup4
  • requests.get()记得加headers,否则很多网站直接返回403(模拟浏览器访问)
  • 遇到中文乱码?先看响应头的response.encoding,不对就手动设为‘utf-8’‘gbk’

定位数据:用开发者工具找对标签和属性

别猜!按F12打开浏览器开发者工具,右键目标文字 → “检查”,看它在哪层

里,有没有class或id。

  • soup.find(‘div’, class_=’title’)soup.select(‘.title’)更直观,初学建议优先用find/find_all
  • 如果class名带空格或动态变化(如class=”item active”),改用soup.find(‘div’, attrs={‘class’: re.compile(r’item’)}),配合re模块
  • 表格数据常用tr > td路径,用soup.select(‘table tr’)逐行取再嵌套循环

应对简单反爬:基础防护三招够用

大多数小网站只做基础检测,不需要登录或跑JS,这三步覆盖90%场景:

Python实现Web开发中爬取网页数据的详细教程【教程】

AletheaAI

世界上第一个从自然语言描述中生成交互式 AI 角色的多模态 AI 系统。

Python实现Web开发中爬取网页数据的详细教程【教程】 83

查看详情 Python实现Web开发中爬取网页数据的详细教程【教程】

立即学习Python免费学习笔记(深入)”;

  • 加随机User-Agent:用fake_useragent库(pip install fake-useragent),每次请求换一个UA
  • 控制请求频率:time.sleep(1) 比狂刷强,既保护对方服务器,也防IP被临时封
  • 检查robots.txt:比如https://example.com/robots.txt,尊重网站规则是基本素养

保存结果:从列表到CSV或json,一步到位

爬下来的数据别只print,要存下来才真正有用。

  • 结构简单(如标题+链接)→ 直接用csv.writer写入CSV,excel能直接打开
  • 含嵌套字段(如商品有价格、评分、评论数)→ 用json.dump()存为JSON,方便后续用pandas分析
  • 避免编码报错:open()时一定加encoding=’utf-8-sig’windows下Excel才不乱码)

基本上就这些。不复杂但容易忽略细节,动手试两三个真实页面,比看十篇教程都管用。

text=ZqhQzanResources