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 就會到台灣 ...
随机推荐
- 对于搭建网站中出现“You don't have permission to access this resource.”错误提示的解决思路
我是用的是树莓派搭载了ubuntu系统 配置php+apache的网站环境,但在登陆网站进行网站初始化设置时出现错误提示,其大意是没有访问权限,上网搜索了一系列相关教程,都说明对apache2.con ...
- NoSQLBooster如何MongoDB的部分文档从一个集合拷贝到另外一个集合中
假设MongoDB数据库中存有collection_A和collection_B两个集合,如下图所示: (一)先从集合collection_A中拷贝选择的文档 打开collection_A,看到目前有 ...
- Mac brew update 慢~~~
正题开始之前, 如果对 Homebrew 不太了解, 这里有一篇很好的介绍文章: macOS 包管理工具 Homebrew 不完全指南 花个几分钟读一下, 绝对超值! 正题 Homebrew 通过 G ...
- CSS的一些文本操作有哪些
一.文本的对齐方式 text-align:center/left/right text-align:justify; font-style:normal/italic/oblique/inherit ...
- 优先级队列-堆-STL实现
#include <cstdio> #include <iostream> #include <queue> using namespace std; // 默认是 ...
- Jekyll 摘要
在 Windows 上安装 Requirements Permalink Ruby version 2.4.0 or above, including all development headers ...
- openlayers显示比例尺
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...
- [PAT] A1022 Digital Library
[题目大意] 给出几本书的信息,包括编号,名字,出版社,作者,出版年份,关键字:然后给出几个请求,分别按照1->名字,2->出版社等对应信息查询符合要求的书的编号. [思路] 模拟. [坑 ...
- Android_SQLite简单的增删改查
SQLite数据库,和其他的SQL数据库不同, 我们并不需要在手机上另外安装一个数据库软件,Android系统已经集成了这个数据库,我们无需像 使用其他数据库软件(Oracle,MSSQL,MySql ...
- Android学习笔记(一)
目录 Android学习笔记(一) 一.JDK.Android SDK 二.部分项目结构 三.字符串引用 四.外层build.gradle详解 五.app->build.gradle详解 六.日 ...