Scrapy爬虫小demo总结

1、 Scrapy入坑。java

a)       Scrapy的安装。python

这个没什么可讲的,网上一大把。spring

 

       注意的问题,可能我下载的是32位的python,出现了pywin32无法用的状况,这个直接pip install pypiwin32 就好。数据库

b)       安装验证。json

scrapy genspider baidu www.baidu.com 创建一个爬百度的爬虫。springboot

 

scrapy crawl baidu服务器

 

成功爬取数据。cookie

c)        Scrapy项目建立:架构

首先进入要建立项目的目录:cd xxxdom

而后进行建立:scrapy startproject demo1(项目名字是demo1)

进入项目目录,进行抓取目标的设置:cd demo1;

                                                 scrapy genspider demo1demo quotes.toscrape.com

上面的两步设置好了以后,就有以下结构:

 

 

而后我使用的pycharm编译器,,,在命令行。这里

 

输入命令进行爬取,

 

 

注意,,,我在生成的文件中使用了中文注释,而后就报编码错误,因此文件汇总得保证英文环境。

2、 Scrapy基本使用

通过如上的折腾,scrapy总算是能够大概跑起来了,接下来咱们来看看怎么使用(emmmm,说实话我也用的很差,说个大概吧,就是记录下这个磨人的小demo)。

       好,咱们从使用的第一步提及,首先,设置爬取网址:

 

(打码真好看,^_<)

而后就是函数回调,scrapy.Request()方法,这个方法就是scrapy爬虫的核心,第一个参数是访问的url,第二个是回调函数,就是访问后返回了信息就会调用的函数,这个函数须要本身写,随便写一个,可是参数必须有response,那个这个函数里面就能够使用这个response了,这个response就是返回的响应,能够打印respons.text,获得的结果就是网页的数据,因而,咱们要作的就是解析这个网页数据。那么这个网页数据怎么解析呢?好了,看看图吧,说着太抽象了。

 

如上,这些方法透过dom树来解析,然解析完了,拿到相应的链接能够继续爬。诶呀,这个部分也就没什么说的了。

3、 Scrapy文件说明。

 

这就是整个scrapy的文件,init不说(说很差,本身菜)那么middlewares是什么?是中间件,在里面写一些中间调用的类,这个我不作强行解释,毕竟我就懂个大概,出问题我也不会调。Pipelines这个呢是用来写数据库什么的,最后一个settings,一看就知道是设置,好比设置延迟,能够在里面写,固然有些常量也能够在里面写,

 

看清楚了,头也要在里面写,请求头。,emmmm就这些。

 

4、 Scrapy的使用注意。(就是我该注意的,跟其余人不要紧,毕竟我是新手)

对了这个爬虫我是在教程里面抄的,本身根据需求作了小小的修改,也就大概懂,呸,大概都没有。教程里面是经过什么维护了一个cookie池,买了几百个小号轮流抓,我就没有那么有钱,没买小号,因此,我就一个cookie,可是也得模仿别人去cookie池子里面拿,否则跑不起我还不会解,因而我就用springboot(这是java的一个微服务架构)搭了个简单的服务器,而后我每次请求这个服务器就返回一个cookie的json串给我,那么我就能够肆无忌惮的使用他了。一个cookie我抓了200个数据就被封Ip了,好尴尬呀,为了作一个文明了爬虫,我设置了延迟,这样没有被封号,真是惊险呀,time.sleep(),线程睡眠。

5、 爬取数据处理。

这个不必说的,不是scrapy,由于是一个demo,因此就在这里记录下,我爬的时候使用.json文件保存,由于json最整齐,没有乱码,我很喜欢。

那么对于json文件的处理,那就简单了,直接读,而后使用字典类型算了截个小图把,废话就不说了

 

嗯嗯,而后就能够了,真是劳累的几天呀。

相关文章
相关标签/搜索