# 网络爬虫
# 作用
- 数据采集
- 软件测试
- 抢票
- 网络安全
- web漏洞扫描
# 爬虫的分类
- 根据爬取网站的数量可以分为:通用爬虫和聚焦爬虫
- 根据获取数据的目的可以分为:功能性爬虫和数据增量爬虫
# 通用爬虫
- 搜索引擎爬虫
- 门户类爬虫
- 垂直爬虫
特点:
- 爬取的网站数量多
- 爬取的网站类型多
- 爬取的网站数据量多
# 聚焦爬虫
- 特点:爬取网站数量有上限,有明确的目标
- 分类
- 功能性爬虫
- 投票爬虫
- 抢票爬虫
- 短信轰炸等
- 数据增量爬虫
# 爬虫的实现
# 基本流程
目标——>发送请求——>获取响应——>解析数据——>存储数据
- 目标:确定要爬取的网站(
URL) - 发送请求:使用
Python的requests库发送HTTP请求 - 获取响应:获取服务器返回的响应
- 解析数据:使用
Python的解析库(如BeautifulSoup、lxml等)解析HTML或XML数据 - 存储数据:将解析后的数据存储到数据库、文件或其他存储介质中
# 实现示例
模仿用户继续百度搜索
import requests
from bs4 import BeautifulSoup
# 目标URL
url = "https://www.baidu.com/s?wd=python"
# 发送请求
response = requests.get(url)
# 解析数据
soup = BeautifulSoup(response.text, "html.parser")
# 查找搜索结果
results = soup.find_all("div", class_="result")
# 打印搜索结果
for result in results:
title = result.find("h3").text
link = result.find("a")["href"]
print(title, link)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
← Use使用