-
选择工具
- Scrapy:适用于静态网页内容爬取。
- Selenium:适用于动态加载(AJAX)内容的网页爬取。
-
安装工具
- Scrapy
- 打开终端,运行命令:
pip install scrapy。
- 打开终端,运行命令:
- Selenium
- 下载对应浏览器版本的chromedriver,放在路径中,如
C:\WebDriver\。 - 在Python中使用:
from selenium import webdriver,然后初始化驱动。
- 下载对应浏览器版本的chromedriver,放在路径中,如
- Scrapy
-
配置Scrapy项目
-
创建项目:
scrapy startproject myproject。 -
进入项目目录,创建items.py:定义爬取的数据结构。
-
修改settings.py,配置数据库和并发设置。
-
编写spider(如爬取百度前10结果):
class BaiduSpider(BaseSpider): def start_requests(self): for url in ['https://www.baidu.com/s?wd=python&fr=ext&pn='] * 10: yield Request(url, callback=self.parse) def parse(self, response): for title in response.xpath('//h3'): yield { 'title': title.extract().get_text(), 'link': response.url } -
使用:
scrapy crawl baiduspider -o output.json.
-
-
配置Selenium
- 初始化浏览器:
driver = webdriver.Chrome(). - 定位元素并处理动态内容,等待元素可见,处理JavaScript。
- 示例:登录流程,使用
WebDriverWait等待元素。
- 初始化浏览器:
-
使用Postman测试API
- 发送GET或POST请求,查看响应。
- 设置请求头和参数,处理HTTPS。
-
处理爬取数据
- 使用
pandas读取文本文件,清洗数据。 - 保存图片:
requests.get(url, stream=True).content。 - 文件管理:
os.makedirs和os.remove。
- 使用
-
处理异常
- 被封IP:使用代理IP或切换IP。
- 处理动态内容:调整等待时间。
- 数据清洗:处理错误数据,提取特定内容。
-
测试工具
- Fiddler:捕捉HTTPS流量,分析请求和响应。
- Burpsuite:功能类似于Postman,适合测试复杂API。
通过实践项目,如爬取淘宝商品信息或处理动态加载的登录页面,逐步掌握网络爬虫工具的使用,提升技能。









