#

准备:
robots
UA 池
图片懒加载
cookie
IP
ajax
js 加密(js逆向 字体加密/大众点评/ base64 md5 AES python复写 要不就是第三方库执行js代码)
验证码 云打码/超级鹰/极验缺口操作 模拟浏览器 -- selenium 动作链 -- chrome无头 解析工具 -- xpath bs4 正则 pyquery 抓包工具 -- fiddler mitproxy 测试工具 -- postman ua 手机端
app text/plain scrapy -基础-
scrapy startproject name
cd name
scrapy genspider sname xxx.com
scrapy crawl sname
- 全量数据获取 - 链接提取器/规则解析器
scrapy startproject name
cd name
scrapy genspider -t crawl spi xxx.com # 基于CrawlSpider类
scrapy crawl spi 基于终端指令的 // scrapy crawl first -o qiubai.csv #指定文件类型有要求.json .csv
基于管道的 // 定义管道类 注册管道类 不同管道类之间return item # 爬虫: 发请求,解析数据
#将url封装请求对象,引擎,调度器(过滤器(去重) 队列(容器 过滤后的请求对象)) 先进先出 引擎 下载器 引擎 spider.response 解析数据 引擎 管道 持久化
# 管道: 接收item,
# 调度器:
# 下载器: 去互联网请求   
#     下载中间件作用:拦截请求和响应
#       -拦截请求:
#         1 篡改请求头UA UA池,随机random.choice()
#         2 设置相关请求对象的代理IP(process_exception中)
# 引擎(核心): 数据流处理,处理事务
# POST请求的发送:
#   重写def start_requests(self):
#       yield scrapy.FormRequest(url,callback,formdata)
#   scrapy 默认是自己处理cookie的, settings.py里面COOKIES_ENNABLE=False
# # 日志等级
#   settings.py 里面 LOG_LEVEL='ERROR'
# # 日志路径
#   settings.py 里面 LOG_FILE = 'path'
# # 请求传参的应用场景:
#   爬取和解析的数据不在同一张页面上面
#   在请求方法中使用meta(字典)参数,该字典会传递参数给回调函数
#     回调函数接收meta:response.meta['key']
settings.py 里面
LOG_LEVEL = ERROR
ROBOTSTXT_OBEY = False
USER_AGENT = 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.81 Safari/537.36'
ITEM_PIPELINES = { }

ms2的更多相关文章

  1. linux移植简介[MS2]

    一:修改Makefile 1添加编译选项,2添加时钟 二:图形化配置(make menuconfig) 此时生成zlmage,  可以跑起来 三:对NandFlash配置,yaffs2 文件系统配置, ...

  2. ASP.NET MVC 登录验证

     好久没写随笔了,这段时间没 什么事情,领导 一直没安排任务,索性 一直在研究代码,说实在的,这个登录都 搞得我云里雾里的,所以这次我可能也讲得不是 特别清楚,但是 我尽力把我知道的讲出来,顺便也对自 ...

  3. iOS-多线程介绍

    一.前言部分 最近在面试,重新温习了一遍多线程,希望加深一遍对于多线程的理解. 1.什么是进程? 1).要了解线程我们必须先了解进程,通俗来讲进程就是在系统中运行的一个应用程序. 2).每个线程之间是 ...

  4. Erlang--etc结构解析

    Erlang中可以用List表达集合数据,但是如果数据量特别大的话在List中访问元素就会变慢了;这种主要是由于List的绝大部分操作都是基于遍历完成的. Erlang的设计目标是软实时(参考:htt ...

  5. 小菜学习设计模式(三)—工厂方法(Factory Method)模式

    前言 设计模式目录: 小菜学习设计模式(一)—模板方法(Template)模式 小菜学习设计模式(二)—单例(Singleton)模式 小菜学习设计模式(三)—工厂方法(Factory Method) ...

  6. 魔改——MFC SDI 支持 内嵌 EXCEL OLE

    ==================================声明================================== 本文版权归作者所有 未经作者授权 请勿转载 保留法律追究的 ...

  7. 【类库】容器对象(List、DataTable、 DataView、Dictionary)

    首先申明一下,写此博文的目的是纪录一下,知识都是现成的,只是整理一下,为了让自己更容易看懂,比在其他地方更容易明白.因为它们太常用了,不忍心每次都去用那么长的时间查看MSDN,希望能在这里用理少的时间 ...

  8. C#中图片与BASE64码互相转换

    //保存目录 string dir = "/upload/user/head"; //站点文件目录 string fileDir = HttpContext.Current.Ser ...

  9. 【转】bind - DNS 設定

    http://www.l-penguin.idv.tw/article/dns.htm 參考資訊 DNS 是所有伺服之母,電腦連節時均以 IP 為主,比方說輸入 202.43.195.52 就會到台灣 ...

随机推荐

  1. 获取redis实例绑定cpu的情况

    redis是一个单线模型的nosql类型的数据库,而目前接触到的服务器大都是多核的,比如8c,16c,32c,64c等等.为了充分利用主机,在一台主机上必然会部署多个redis实例,默认情况cpu会随 ...

  2. pip 配置国内源

      网上已经有很多人介绍了,我写在这儿就是为了找起来方便. https://www.cnblogs.com/schut/p/10410087.html 这篇博客还是很有意思的,他介绍了两种方法.可以一 ...

  3. 导航贴 | IT Crypt 密码学优秀博文

    Base64编码: 什么是Base64? 一篇文章彻底弄懂Base64编码原理 Morse密码: 看似神秘,实则简单的装逼利器-摩斯密码 Bacon 密码: 密码学笔记 -- 培根密码 RSA 加密: ...

  4. C# Socket的方式发送中文,接收方收到乱码

    场景: 使用 Socket的方式向下位机发送中文信息,下位机收到的中文是乱码 原因: 了解到的原因是上位机与下位机的发送与接收的编码与解码方式不一致 比如上位机采用 Encoding.UTF8.Get ...

  5. pycharm-1

    Python 1.4解释器(运行文件) 1.5注释:#单行,ctrl+/ 多行注释       ””” ””” 2.1变量 assert,except:lambda; nonlocal; 2.2数据类 ...

  6. mnist识别优化——使用新的fashion mnist进行模型训练

    今天通过论坛偶然知道,在mnist之后,还出现了一个旨在代替经典mnist数据集的Fashion MNIST,同mnist一样,它也是被用作深度学习程序的“hello world”,而且也是由70k张 ...

  7. Spring Boot Starter 开发指南

    Spring Boot Starter是什么? 依赖管理是任何复杂项目的关键部分.以手动的方式来实现依赖管理不太现实,你得花更多时间,同时你在项目的其他重要方面能付出的时间就会变得越少. Spring ...

  8. day5 dict嵌套

    #!/usr/bin/env python # -*- coding:utf-8 -*- dic = { 'name': ['alex', 'wusir', 'taibai'], 'py9': { ' ...

  9. webkit 技术内幕 笔记 三

    浏览器内核及特性 在浏览器中,一个很重要的模块,是将页面转变成可视化的图像结果,这就是浏览器的内核,通常被称作渲染引擎.渲染:就是根据描述或者定义构建数学模型,通过模型生成图像的过程.浏览器的渲染引擎 ...

  10. Ubuntu WiFi连接问题

    1,先说明下, 这种方式仅针对 RTL8723BE这款无限网卡. 先用 lspci|grep -i net 先用这个命令查询网卡型号, 我的电脑查询结果: 00:19.0 Ethernet contr ...