Pycharm编程环境下Scrapy框架进行爬虫

学过爬虫的朋友知道,requests库和BeautifulSoup4库可以爬取80%多的数据,但是还有少部分数据通过这两个库无法获取,所以今天介绍另外一个爬虫工具——Scrapy框架。

1.Scrapy框架介绍

  • Scrapy是用python实现的一个用于爬取网站数据、提取结构性数据而编写的应用框架,用途非常广泛。
  • 用户只需要定制开发几个模块就可以轻松实现数据、图片等的爬取,非常方便。
  • Scrapy采用Twisted异步网络框架来处理网络通讯,可以加块下载速度。

2.Scrapy安装

在pychram中安装Scrapy,仍然可以在命令行中输入pip install scrapy

3.项目新建

安装好Scrapy之后,我们在pycharm界面下面找到Terminal,点击之后出现如下窗口,在希望创建的目录下输入scrapy startproject mytest1:
在这里插入图片描述
按enter键后,出现如下界面,表示项目创建成功:
在这里插入图片描述
项目成功创建之后,就会出现项目名为mytest1的文件(如下图),该文件下包含多个.py文件。
在这里插入图片描述
_init_py: 存放用户需要爬虫数据的属性,比如爬电影时,评分,电影名这些就在这个文件定义
items.py: 对数据进行封装
middlewares.py: 爬虫的中间健,主要用于一些反爬虫的设置
pipelines.py: 爬虫的管道,对items.py封装的数据进行处理
settings.py: 爬虫的一些设置,比如设置反爬虫、代理等

4.开始爬虫

下文以爬取慕课网下各课程网址、课程名、课程图片以及课程介绍为例进行讲解。

1. 定义爬虫数据的属性
首先打开items.py文件,一般建完项目后,Items.py中会默认有一个以项目名为类名的类,不过类名可以更改,不影响爬虫。因为要爬取各课程网址、课程名、课程图片以及课程介绍,所以需要定义四种属性。

import scrapy
#定义爬取数据的属性
class CourseItem(scrapy.Item):
    title = scrapy.Field()
    url = scrapy.Field()
    image_url=scrapy.Field()
    introduction=scrapy.Field()
    student = scrapy.Field()
    image_path = scrapy.Field()

2.开始爬虫
在项目中spiders文件下新建一个python文件Myspider.py,该文件是爬虫的核心,用户需要在里面写爬虫具体代码。首先导入Scrapy模块,同时需要导入第一步中的CourseItem类,因为我们需要用到CourseItem类定义的属性。注意,之后运行程序不是使用项目名,而是使用name,然后写爬虫网址的域名,以及爬取网页的网址,这三步是固定的,必须要写。 在parse函数中,首先创建CourseItem类对象,在Scrapy框架中,使用xpath来获取标签内容。关于xpath的具体用法见博客Scrapy中Xpath选选择器的基本用法

import scrapy
from ..items import   CourseItem

class MySpider(scrapy.Spider
  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值