ms2
#
准备:
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的更多相关文章
- linux移植简介[MS2]
一:修改Makefile 1添加编译选项,2添加时钟 二:图形化配置(make menuconfig) 此时生成zlmage, 可以跑起来 三:对NandFlash配置,yaffs2 文件系统配置, ...
- ASP.NET MVC 登录验证
好久没写随笔了,这段时间没 什么事情,领导 一直没安排任务,索性 一直在研究代码,说实在的,这个登录都 搞得我云里雾里的,所以这次我可能也讲得不是 特别清楚,但是 我尽力把我知道的讲出来,顺便也对自 ...
- iOS-多线程介绍
一.前言部分 最近在面试,重新温习了一遍多线程,希望加深一遍对于多线程的理解. 1.什么是进程? 1).要了解线程我们必须先了解进程,通俗来讲进程就是在系统中运行的一个应用程序. 2).每个线程之间是 ...
- Erlang--etc结构解析
Erlang中可以用List表达集合数据,但是如果数据量特别大的话在List中访问元素就会变慢了;这种主要是由于List的绝大部分操作都是基于遍历完成的. Erlang的设计目标是软实时(参考:htt ...
- 小菜学习设计模式(三)—工厂方法(Factory Method)模式
前言 设计模式目录: 小菜学习设计模式(一)—模板方法(Template)模式 小菜学习设计模式(二)—单例(Singleton)模式 小菜学习设计模式(三)—工厂方法(Factory Method) ...
- 魔改——MFC SDI 支持 内嵌 EXCEL OLE
==================================声明================================== 本文版权归作者所有 未经作者授权 请勿转载 保留法律追究的 ...
- 【类库】容器对象(List、DataTable、 DataView、Dictionary)
首先申明一下,写此博文的目的是纪录一下,知识都是现成的,只是整理一下,为了让自己更容易看懂,比在其他地方更容易明白.因为它们太常用了,不忍心每次都去用那么长的时间查看MSDN,希望能在这里用理少的时间 ...
- C#中图片与BASE64码互相转换
//保存目录 string dir = "/upload/user/head"; //站点文件目录 string fileDir = HttpContext.Current.Ser ...
- 【转】bind - DNS 設定
http://www.l-penguin.idv.tw/article/dns.htm 參考資訊 DNS 是所有伺服之母,電腦連節時均以 IP 為主,比方說輸入 202.43.195.52 就會到台灣 ...
随机推荐
- sql server通过临时存储过程实现使用参数添加文件组脚本复用
create procedure #pr_CreateFileGroup @dbname nvarchar(max), @filegroupname nvarchar(max) as begin /* ...
- Spring Boot源码(四):Bean装配
为了演示Spring中对象是如何创建并放到spring容器中,这里新建一个maven项目: 其中pom.xm文件中只引入了一个依赖: <dependencies> <dependen ...
- 【python基础语法】元祖、字典、集合、数据类型的分类(第4天课堂笔记)
""" 列表:可变数据类型,对列表内部的元素可以进行修改 元祖: tuple,不可变数据类型,是不可以进行增删查改 元祖的方法: count 查找元素的数量 index ...
- egg 提交数据 防csrf 攻击 配置
await ctx.render('from',{csrf:this.ctx.csrf}); 或者 使用中间件 ctx.state.csrf = ctx.csrf;
- mac本地安装全局包报错npm WARN checkPermissions
安装本地全局包时,本地报错 npm WARN checkPermissions Missing write access to /Users/xxx/.nvm/versions/node/v11.10 ...
- Beego 过滤器
过滤器 beego 支持自定义过滤中间件,例如安全验证,强制跳转等. 过滤器函数如下所示: beego.InsertFilter(pattern string, position int, filte ...
- beego的请求数据处理
我们经常需要获取用户传递的数据,包括 Get.POST 等方式的请求,beego 里面会自动解析这些数据,你可以通过如下方式获取数据: GetString(key string) string Get ...
- VS2019 backspace键失效,无法使用
原因:据网上其他资源了解,可能是和其它的快捷键冲突了,但是我这边没有设置快捷键,突然就这样了,出现原因不详,有了解的伙伴可以留言学习一下. 解决方法:工具=>设置=>键盘=>点击重置
- Centos 7 firewall的防火墙的规则
这是官方文档: http://www.firewalld.org/documentation/man-pages/firewall-cmd.html 想使用iptables的规则,firewall也可 ...
- ASP.NET MVC自定义Numberic属性的验证信息
最近在使用MVC4时碰到一个Model验证的问题:整型属性输入非整型字符串时,错误信息总是“字段 XXX 必须是一个数字”,我总觉得这句话读起来很别扭,所以就萌生了要改变这个默认错误提示信息的念头,但 ...