最近一直在做网络爬虫的练习,现在对整个爬取过程做个总结。
配置:
电脑:MacBook Pro
系统:macOS Catalina 10.15.3
Python版本:3.8
Python IDE:PyCharm
数据库:Mysql
数据库管理工具:Navicat Premium
正式进入正题
scrapy初体验
scrapy安装我前面有在macOS成功在python3环境下安装Scrapy中提到,这里就不细讲。
Scrapy框架的使用
1、使用scrapy staryproject命令来创建一个项目
2、进入项目目录,创建爬虫spider类文件
3、进入items.py创建自己的Item内容类
4、进入自定义的spider类,解析Response信息,并封装到Item中
5、使用Item Pipelines项目管道对解析出来的Item数据进行清理、验证、去重、存储。
6、执行爬取命令来进行爬取信息
今天的实战演练的目标:爬取csdn学院中的课程信息
网址:
- https://edu.youkuaiyun.com/courses/o280/p1
1、创建scrapy项目
$ scrapy startproject csdnedu
2、创建爬虫
# 进入csdnedu
$ cd csdnedu
# 创建爬虫
csdnedu$ scrapy genspider courses edu.csdn.net
这时候csdnedu项目中spiders文件夹里面会添加一个courses.py的文件,用来解析数据。
3、数据分析
通过对csdn学院中的课程信息进行分析,发现我们需要的数据为:课程标题、url地址、图片、讲师、总课时、价格
在items.py中,给item类定义
items.py:
import scrapy
class CoursesItem(scrapy.Item):
'''课程信息item类:课程标题、url地址、图片、讲师、总课时、价格'''
# define the fields for your item here like:
title = scrapy.Field()
url = scrapy.Field()
pic = scrapy.Field()
teacher = scrapy.Field()
time = scrapy.Field()
price = scrapy.Field()
4、数据解析
在courses.py中解析从网页爬取的课程信息,并打印item数据
注意将start_urls改为真正网址
import scrapy
<