网络爬虫入门
🧠 网络爬虫的作用
网络爬虫是一种自动抓取网页内容的程序,可以帮助我们批量提取数据,例如:
- 抓取新闻标题
- 下载图片、视频
- 获取商品价格、库存等信息
在 Python 中常用的爬虫工具包括:
工具 | 说明 |
---|---|
requests | 发送网页请求,获取 HTML 内容 |
BeautifulSoup | 解析网页结构,提取需要的信息 |
re | 正则表达式,提取复杂文本数据 |
lxml | 更高效的 HTML/XML 解析库 |
✅ 安装依赖
pip install requests beautifulsoup4
1 抓取网页内容(requests)
导入 requests
响应 = requests.获取("[https://example.com](https://example.com)")
如果 响应.状态_代码 == 200:
打印(响应.文本[:200]) # 显示前 200 字符
2 解析网页数据(BeautifulSoup)
从 bs4 导入 BeautifulSoup
网页 = """<html><h1>欢迎</h1><p>内容</p></html>"""
汤 = BeautifulSoup(网页, "html.parser")
标题 = 汤.h1.text
打印(标题) # 输出: 欢迎
3 示例:爬取豆瓣图书标题
导入 requests
从 bs4 导入 BeautifulSoup
网址 = "[https://book.douban.com/latest](https://book.douban.com/latest)"
响应 = requests.获取(网址)
汤 = BeautifulSoup(响应.文本, "html.parser")
书名列表 = 汤.选择("h2 a")
对于 书 in 书名列表:
打印(书.文本.去掉())
🚨 提示与注意事项
- 网络爬虫要尊重网站的 robots.txt 协议
- 请求过快容易被封 IP,可使用
time.sleep
添加延迟 - 不要频繁抓取或恶意爬取,注意合法合规
✅ 小结
技术点 | 用法 |
---|---|
requests | 发起网页请 求 |
response.text | 获取网页源码 |
BeautifulSoup | HTML 解析器 |
select(css选择器) | 抓取网页结构数据 |
.text / .strip() | 提取纯文本并去空格 |
是否需要继续深入(如:伪装浏览器 headers、爬图片、使用正则、Scrapy 框架等)?我可以分章节继续扩展。