Scrapy-Selenium 使用教程
1. 项目目录结构及介绍
Scrapy-Selenium 是一个开源项目,它是一个 Scrapy 中间件,用于处理使用 Selenium 浏览器自动化工具的 JavaScript 页面。以下是项目的目录结构及文件介绍:
scrapy-selenium/
├── scrapy_selenium/ # 包含 Scrapy 中间件实现代码
│ ├── __init__.py
│ ├── middleware.py # SeleniumMiddleware 的实现
│ └── selenium_request.py # SeleniumRequest 类的实现
├── tests/ # 单元测试文件
│ ├── __init__.py
│ ├── middleware_test.py # 中间件测试
│ └── test_selenium_request.py # SeleniumRequest 类测试
├── .gitignore # 指定 Git 忽略的文件
├── .travis.yml # Travis CI 的配置文件
├── LICENCE # 项目许可证文件
├── MANIFEST.in # 打包时包含的文件列表
├── README.md # 项目说明文件
├── setup.cfg # 打包和安装配置文件
└── setup.py # 项目安装脚本
2. 项目的启动文件介绍
Scrapy-Selenium 项目并没有一个特定的启动文件,因为它是一个 Scrapy 中间件。要使用这个中间件,您需要将其添加到您的 Scrapy 项目中。具体步骤如下:
-
安装 Scrapy-Selenium:
pip install scrapy-selenium
-
在 Scrapy 项目的
settings.py
文件中启用中间件:DOWNLOADER_MIDDLEWARES = { 'scrapy_selenium.SeleniumMiddleware': 800, }
-
在您的爬虫中,使用
SeleniumRequest
替代标准的Request
对象来请求页面:from scrapy_selenium import SeleniumRequest yield SeleniumRequest(url="http://example.com", callback=self.parse)
3. 项目的配置文件介绍
Scrapy-Selenium 的配置主要通过 Scrapy 设置文件 settings.py
进行。以下是一些基本配置:
SELENIUM_DRIVER_NAME
: 指定使用的浏览器驱动程序名称,如firefox
或chrome
。SELENIUM_DRIVER_EXECUTABLE_PATH
: 浏览器驱动程序的路径。如果是通过pip
安装的,通常可以自动检测。SELENIUM_DRIVER_ARGUMENTS
: 传递给浏览器驱动程序的命令行参数列表,例如['-headless']
用于无头模式。SELENIUM_BROWSER_EXECUTABLE_PATH
: 浏览器可执行文件的路径,如果需要指定的话。SELENIUM_COMMAND_EXECUTOR
: 如果使用远程 Selenium WebDriver,应指定远程 URL。
确保在运行爬虫之前正确配置这些设置,以便中间件能正确地启动和运行 Selenium WebDriver。