Python爬虫之Scrapy环境搭建案例教程 的攻略如下:
一、准备工作:
- 安装 Python3 和 pip
- 安装 VS Code(用于编辑代码)
- 安装 Git(下载 Scrapy 框架)
二、安装 Scrapy:
- 打开终端(命令提示符),输入以下命令安装 Scrapy:
pip install scrapy
- 执行完命令后即可安装 Scrapy
三、测试 Scrapy:
- 在终端输入以下命令创建 Scrapy 项目:
scrapy startproject <项目名>
- 进入 Scrapy 项目目录:
cd <项目名>
- 输入以下命令启动 Spider:
scrapy crawl <Spider名>
- 此时 Scrapy 会根据 Spider 的代码执行爬虫程序,可以在终端中看到相关输出信息。
四、示例说明:
1. 使用 Scrapy 爬取百度首页源代码
- 在 Scrapy 项目目录下创建 Spider 文件:
scrapy genspider baidu www.baidu.com
- 打开 baidu.py 文件,将其内容替换为以下代码:
import scrapy
class BaiduSpider(scrapy.Spider):
name = 'baidu'
allowed_domains = ['www.baidu.com']
start_urls = ['http://www.baidu.com/']
def parse(self, response):
filename = 'baidu.html'
with open(filename, 'wb') as f:
f.write(response.body)
self.log('保存文件: %s' % filename)
- 在终端输入以下命令执行 Spider:
scrapy crawl baidu
- 在项目目录下会生成 baidu.html 文件,其内容为百度首页源代码。
2. 使用 Scrapy 爬取京东手机分类页面的商品信息
- 在 Scrapy 项目目录下创建 Spider 文件:
scrapy genspider jd_phone www.jd.com
- 打开 jd_phone.py 文件,将其内容替换为以下代码:
import scrapy
class JdPhoneSpider(scrapy.Spider):
name = 'jd_phone'
allowed_domains = ['www.jd.com']
start_urls = ['https://list.jd.com/list.html?cat=9987,653,655']
def parse(self, response):
for phone in response.css('li.gl-item'):
yield {
'title': phone.css('div.p-name>a::text').get(),
'price': phone.css('div.p-price>strong>i::text').get(),
'shop': phone.css('div.p-shop>span.J_im_icon>a::text').get(),
}
next_page = response.css('a.fp-next::attr(href)').get()
if next_page is not None:
yield response.follow(next_page, self.parse)
- 在终端输入以下命令执行 Spider:
scrapy crawl jd_phone -o jd_phone.csv
- 在项目目录下会生成 jd_phone.csv 文件,其内容为京东手机分类页面的商品信息,包括商品名称、价格和店铺名,可以使用 Excel 或其他表格软件打开查看。
以上就是 Python爬虫之Scrapy环境搭建案例教程 的完整攻略,希望对您有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python爬虫之Scrapy环境搭建案例教程 - Python技术站