标签:project 基本使用 调用 raw pycharm dem 微服务架构 令行 win
一、 Scrapy入坑。
a) Scrapy的安装。
这个没什么可讲的,网上一大把。
注意的问题,可能我下载的是32位的python,出现了pywin32没法用的情况,这个直接pip install pypiwin32 就好。
b) 安装验证。
scrapy genspider baidu www.baidu.com 建立一个爬百度的爬虫。
scrapy crawl baidu
成功爬取数据。
c) Scrapy项目创建:
首先进入要创建项目的目录:cd xxx
然后进行创建:scrapy startproject demo1(项目名字是demo1)
进入项目目录,进行抓取目标的设置:cd demo1;
scrapy genspider demo1demo quotes.toscrape.com
上面的两步设置好了之后,就有如下结构:
然后我使用的pycharm编译器,,,在命令行。这里
输入命令进行爬取,
注意,,,我在生成的文件中使用了中文注释,然后就报编码错误,所以文件汇总得保证英文环境。
二、 Scrapy基本使用
经过如上的折腾,scrapy总算是可以大概跑起来了,接下来我们来看看怎么使用(emmmm,说实话我也用的不好,说个大概吧,就是记录下这个磨人的小demo)。
好,我们从使用的第一步说起,首先,设置爬取网址:
(打码真好看,^_<)
然后就是函数回调,scrapy.Request()方法,这个方法就是scrapy爬虫的核心,第一个参数是访问的url,第二个是回调函数,就是访问后返回了信息就会调用的函数,这个函数需要自己写,随便写一个,但是参数必须有response,那个这个函数里面就可以使用这个response了,这个response就是返回的响应,可以打印respons.text,得到的结果就是网页的数据,于是,我们要做的就是解析这个网页数据。那么这个网页数据怎么解析呢?好了,看看图吧,说着太抽象了。
如上,这些方法透过dom树来解析,然解析完了,拿到相应的连接可以继续爬。诶呀,这个部分也就没什么说的了。
三、 Scrapy文件说明。
这就是整个scrapy的文件,init不说(说不好,自己菜)那么middlewares是什么?是中间件,在里面写一些中间调用的类,这个我不做强行解释,毕竟我就懂个大概,出问题我也不会调。Pipelines这个呢是用来写数据库什么的,最后一个settings,一看就知道是设置,比如设置延迟,可以在里面写,当然有些常量也可以在里面写,
看清楚了,头也要在里面写,请求头。,emmmm就这些。
四、 Scrapy的使用注意。(就是我该注意的,跟其他人没关系,毕竟我是新手)
对了这个爬虫我是在教程里面抄的,自己根据需求做了小小的修改,也就大概懂,呸,大概都没有。教程里面是通过什么维护了一个cookie池,买了几百个小号轮流抓,我就没有那么有钱,没买小号,所以,我就一个cookie,但是也得模仿别人去cookie池子里面拿,不然跑不起我还不会解,于是我就用springboot(这是java的一个微服务架构)搭了个简单的服务器,然后我每次请求这个服务器就返回一个cookie的json串给我,那么我就可以肆无忌惮的使用他了。一个cookie我抓了200个数据就被封Ip了,好尴尬呀,为了做一个文明了爬虫,我设置了延迟,这样没有被封号,真是惊险呀,time.sleep(),线程睡眠。
五、 爬取数据处理。
这个没必要说的,不是scrapy,因为是一个demo,所以就在这里记录下,我爬的时候使用.json文件保存,因为json最整齐,没有乱码,我很喜欢。
那么对于json文件的处理,那就简单了,直接读,然后使用字典类型算了截个小图把,废话就不说了
嗯嗯,然后就可以了,真是劳累的几天呀。
标签:project 基本使用 调用 raw pycharm dem 微服务架构 令行 win
原文地址:https://www.cnblogs.com/luohuayu/p/8974476.html