装好模拟器设置代理到 Fiddler  中, 代理 IP 是本机 IP, 端口是 8888, 抓包 APP斗鱼 用 format 设置翻页…
因为每次请求得到的响应不一定是正常的,   也可以在中间建中与个类的方法,自动更换头自信,代理Ip, 在设置文件中添加头信息列表, 在中间建中导入刚刚的列表,和随机函数 class UserAgentMiddleware(object): def process_request(self, request, spider): # 随机头信息, UA = random.choice(UserAgent_list) request.headers['User-Agent'] = UA class P…
1,通过爬虫获取代理 ip ,要从多个网站获取,每个网站的前几页2,获取到代理后,开进程,一个继续解析,一个检测代理是否有用 ,引入队列数据共享3,Queue 中存放的是所有的代理,我们要分离出可用的代理,所以再搞个队列,存放可用代理,4,检测速度过慢,效率低,引入 gevent,猴子补丁 一次多个检测 5,将分离出的有用代理存入 mongodb 另开个进程操作 6, flask web 框架 , API接口,7,调度,每次开启时先对数据库中的代理进行检测, 因为maogo db无法远程连接,所…
利用 redis 数据库,做 request 队列,去重,多台数据共享, scrapy 调度 基于文件每户,默认只能在单机运行, scrapy-redis 默认把数据放到 redis 中,实现数据共享, 安装: pip install scrapy-redis 命令与 scrapy 没有不同 在该文件下导入 scrapy_redis 在配置文件中添加内容 1(必须). 使用了scrapy_redis的去重组件,在redis数据库里做去重 DUPEFILTER_CLASS = "scrapy_re…
定时对该网页数据采集,所以每次只爬第一个页面就可以, 创建工程 scrapy startproject qianchen 创建运行文件 cd qianchenscrapy genspider qianchen_ qianchen.com scrapy crawl qianchen…
当要对一个页面进行多次请求时, 设   dont_filter = True   忽略去重 在 scrapy 框架中模拟登录 创建项目 创建运行文件 设请求头 # -*- coding: utf-8 -*- import scrapy import requests class DoubanSpider(scrapy.Spider): name = 'douban' # allowed_domains = ['douban.com'] # 登录页面 start_urls = ['https://…
以上内容以 spider 类 获取 start_urls 里面的网页 在这里平时只写一个,是个入口,之后 通过 xpath 生成 url,继续请求, crawispider 中 多了个  rules  rules 中的参数 link_extractor  用来定义需要提取的连接 allow=()  满足()中正则表达式的 url 会被提取,如果为空则全部匹配, deny=()  满足()中正则表达式的 url 不提取,优先级高于allow, callback   回调函数 follow 实例:…
到指定目录下,创建个项目 进到 spiders 目录 创建执行文件,并命名 运行调试 执行代码,: # -*- coding: utf-8 -*- import scrapy from ..items import TenXunItem class TenxunSpider(scrapy.Spider): name = 'tenxun' # allowed_domains = ['tenxun.com'] # 域名范围 start_urls = ['https://hr.tencent.com/…
Selenium笔记(1)安装和简单使用 简介 Selenium是一个用于Web应用程序测试的工具. Selenium测试直接运行在浏览器中,就像真正的用户在操作一样.支持的浏览器包括IE(7, 8, 9, 10, 11),Firefox,Safari,Chrome,Opera等. 这个工具的主要功能包括:测试与浏览器的兼容性——测试你的应用程序看是否能够很好得工作在不同浏览器和操作系统之上.测试系统功能——创建回归测试检验软件功能和用户需求. 而用在爬虫上则是模拟正常用户访问网页并获取数据.…