捷豹系列

新接触的一个无头浏览器,pupprteer
以前都是使用selenium闯荡江湖,没想到折戬沉沙在这里,没有办法获取request headers 中的某参数a,这个a十分的重要,且账户不允许同时登陆,这就给我造成了很大的困扰,但是恰巧pupprteer可以获取,话不多说,先说安装

node 是必须安装的,如何安装自行百度吧

捷豹系列之puppeteer

pupprteer这个东西安装起来十分的费劲,费了我很大的功夫也没有做到全局安装,是真的失败 谁让我想要的在那一头,而我在这一头呢 ,最开始的度娘是告诉我cnpm大法好,但是没啥作用,你们可以试试,然后就是淘宝镜像, 但是安装成功之后他依旧是运行不起来 ,没办法只能选定一个文件夹,做局部安装了

首先 npm init 初始化你的 环境,然后一路回车到底,看你所在的文件夹哟有没有出现package.json文件,如果没有请重试

其次输入npm i puppeteer进行安装,如不成功者可尝试安装淘宝镜像npm config set puppeteer_download_host=https://npm.taobao.org/mirrors
或者在后面直接放路由,然后到这里我就是成功了 ,可以找一些domenode xxx.js运行一下是否成功

捷豹系列之断点续爬

研究了一下一共有两种方案

JOB 暂停&恢复

此类方案只能使用ctrl+c这种温柔的方式暂停她,然后再ctrl+c打开它
如果遭遇强杀就会失效,只要在你启动语句后面加上
-s JOBDIR=crawls/somespider-1
就可以了,即:
scrapy crawl xxx -s JOBDIR=crawls/somespider-1
其实也就是添加了一个队列,再文件夹中生成一个文件,但是不知道是我的操作哪里有问题,我用pycharm爬取的时候使用红色按钮去关掉爬虫,队列并没有清空,scrapy会给我当作重复页面给我干掉,心塞

scrapy-redis

redis在断电续爬这个方向还是很优秀的,scrapy也已经有了可以和redis交互的模块 要想使用她,就要在settings中配置以下内容:

  1. 设置重复过滤器的模块
    DUPEFILTER_CLASS = "scrapy_redis.dupefilter.RFPDupeFilter"

  2. 设置调取器,scrap-redis中的调度器具备与数据库交互的功能
    SCHEDULER = "scrapy_redis.scheduler.Scheduler"

  3. 设置当爬虫结束的时候是否保持redis数据库中的去重集合与任务队列
    SCHEDULER_PERSIST = True

  4. 在管道中设置将数据保存到redis数据库中

    ITEM_PIPELINES = {
    /# 当开启该管道,该管道将会把数据存到Redis数据库中
    'scrapy_redis.pipelines.RedisPipeline': 400,
    /# ‘EPC.pipelines.SaveFilePipeline’: 500
    }

  5. 配置redis数据库
    REDIS_URL = "redis://127.0.0.1:6379"

  6. 然后打开中间件即可
    这个我没有试过,,,主要是着急,有机会再说

爬虫之401骚操作

由于账号是借的,又不能同时登陆,所以就显得格外的卑微,当别人登陆的时候就会出现401错误,在中间件可以捕捉到401错误,我设置了如果401则更新我的认证,后来发现更新之后我的队列的认证没有更新,导致之后的每一次访问都需要更新对我造成了极大的麻烦,所以我改成了读文件,更新,然后去发requests请求看是否401,如果是则puppeteer,更新认证,如果不是则继续搞定了这个麻烦的认证,可能是我做麻烦了 ,但是真的是被逼无奈,如果你有幸看到这个帖子,又有什么好的想法或者模块,楼下评论虚心求教

爬虫之pandans

要求的数据是excel,所以本能的反映让我想到了pandans,是真的好用,先写一下我用到的操作

df = pd.DataFrame(columns=['q', 'w', 'e', 'r', 't', 'y', 'u', 'i', '', 'o', 'p', 'a', 's', 'd', 'f', 'g', 'h', 'j', 'k', 'l', 'z'])
dg = pd.DataFrame([data])
df=df.append(dg,sort=False)

因为我的data数据未必全,所以我在合并的时候写入了sort=False保证了列名不会乱掉
实话实说,pandans真的强大,但是我是一条一条写的,太浪费时间了
所以也算是骚操作吧,我将data数据写入了json文件中,爬虫结束后统一用pandans 切换格式是真的快,nice

之后补充 啥再说,鄙人啥也不是,散会

©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页