Python Scrapy爬虫框架学习0

Posted 小小时光记

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python Scrapy爬虫框架学习0相关的知识,希望对你有一定的参考价值。

1. Scrapy 教程

我们会有以下的几个任务:

  • 创建一个scrapy项目

  • 创建一个爬虫来爬取网站并获取数据

  • 修改爬虫来爬取递归的链接

1.1 创建一个scrapy项目

在自己的项目文件夹下面,使用脚本命令: scrapy startproject jiufunews,则会创建一个项目文件夹jiufunews。

Python Scrapy爬虫框架学习0

项目文件的目录层级如下:


scrapy.cfg            # 项目的items定义文件  

middlewares.py    # 项目中间件信息  

pipelines.py      # 项目管道信息文件  

settings.py       # 项目设置文件  

spiders/          # 爬虫文件夹,爬虫的实现方法等文件将放在这个文件夹下面

1.2 爬虫的实现

当项目创建完毕以后,新建一个文件并命名为jiufunews,并复制如下代码。以下的代码为爬取玖富官网中的新闻信息,元素拾取器为使用xpath。

Python Scrapy爬虫框架学习0


步骤1:定义爬虫的名字(名字唯一性)

步骤2:定义爬虫需要爬取的URL

步骤3:使用Parse方法去实现爬虫

步骤4:查看html页面,可以看见我们需要爬取的元素都是在//li[@class="tab_list clearfix"]'元素下面,所以对这个标签进行遍历

步骤5:使用url中的if循环进行url的拼接自增长获取翻页的数据

其中对于数据的获取,需要使用selector 的拾取器,可以使用css或者xpath来进行拾取。下本以xpath为例


'新闻时间': each.xpath('.//p[contains(@class,"tab_time")]/span[3]/text()').extract_first()

代表的含义为在当前标签下(<li class="tab_list clearfix>)下,寻找class=tab_time的p标签,对其下的第三个span标签获取其文本信息。


1.3 URL遍历

定义两个变量offset & urls,在循环完成第一个URL后自增量offset字段,并通过urls变量来进行拼接行程翻页的数据追踪,遍历完成第N个URL的爬虫。


1.4 运行程序

    新建Python文件begin,并复制代码,因pycharm IDE中不支持直接的运行程序,只能以嵌入cmd命令行的形式实现运行。(有别的方法??)

from scrapy import cmdline
cmdline.execute("scrapy crawl jfnews".split())


运行程序即可查看爬取的信息。


以上的程序基本上可以完成对大多数页面的信息抓取,比如学校的新闻内容、工作列表、论坛信息等。

下一步将进行学习xpath的更复杂HTML数据清洗和数据的加载与保存。



以上是关于Python Scrapy爬虫框架学习0的主要内容,如果未能解决你的问题,请参考以下文章

Python Scrapy爬虫框架学习0

python 爬虫框架scrapy学习记录和整理 python爬虫框架scrapy入门文档学习

Python编程基础之(五)Scrapy爬虫框架

python学习之Scrapy爬虫框架

Python爬虫教程-30-Scrapy 爬虫框架介绍

爬虫学习 16.Python网络爬虫之Scrapy框架(CrawlSpider)