zoukankan      html  css  js  c++  java
  • Scrapy爬虫小demo总结

    一、 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文件的处理,那就简单了,直接读,然后使用字典类型算了截个小图把,废话就不说了

    嗯嗯,然后就可以了,真是劳累的几天呀。

  • 相关阅读:
    spring bean-- autowired的正确用法
    @Autowired的使用:推荐对构造函数进行注释
    spring中bean的构造函数,Autowired(Value)注入与@PostConstruct调用顺序
    IconVault – 创建自定义图标字体的神器推荐
    Pure – 赞!轻量的、响应式的 CSS 模块集
    HTML Inspector – 帮助你编写高质量的 HTML 代码
    Tourist.js – 简单灵活的操作指南和导航插件
    分享!20套惊艳的扁平化设计素材免费下载
    Web 开发人员必备的随机 JSON 数据生成工具
    Sylius – 100% 免费和开源的电子商务解决方案
  • 原文地址:https://www.cnblogs.com/luohuayu/p/8974476.html
Copyright © 2011-2022 走看看