python爬虫
斜光
转战语雀
展开
-
scrapy(六)scrapy_redis
scrapy 是一个通用的爬虫框架分布式爬虫 共享队列所有请求位于队列之中如何实现队列共享?队列位于内存中,redis是一种内存数据库不同电脑可访问redis这个内存数据库管道是数据的存储基于scrapy实现分布式扩展的组件scrapy_redisscrapy_redis重写了scrapy组件1、介绍scrapy_redis是一个基于Redis的Scrapy组件,用于scrap...原创 2019-11-12 15:58:49 · 443 阅读 · 0 评论 -
使用scrapy-redis(redis)出现"由于目标计算机积极拒绝,无法连接。"解决方案
安装Redis-x64-3.2.100 .msi(可百度找国内下载地址)下载地址:https://github.com/MicrosoftArchive/redis/releases(挂v)无法下载私信我打开安装目录下的redis-cli.exe文件启动服务...原创 2019-11-01 21:40:32 · 1919 阅读 · 0 评论 -
scrapy(五)接入selenium
反爬的一些情况数据的不是返回的网页源代码请求参数后返回的参数是经过加密的一个页面的请求只能找到一次selenium自动化测试工具,驱动浏览器的功能,会等待浏览器执行js代码完毕,再获取数据selenium的使用1.1 安装pip install selenium -i https://pypi.doubanio.com/simple1.2 安装驱动谷歌浏览器火狐浏览器将...原创 2019-10-31 21:02:04 · 168 阅读 · 0 评论 -
scrapy(二)Spider与CrawlSpider
3.3 Spider源码初始的Requests请求来自于start_urls原创 2019-10-30 21:54:03 · 278 阅读 · 0 评论 -
scrapy(三)Requests/Response/日志处理/模拟登陆
1、Requests1.1、自动去重class ExampleSpider(scrapy.Spider): name = 'example' # 表示域名范围 allowed_domains = ['baidu.com',] # 初始化域名不会考虑范围 start_urls = ['https://www.taobao.com'] def ...原创 2019-10-30 21:53:22 · 133 阅读 · 0 评论 -
scrapy(四)中间件
中间件可以对请求或响应进行定制化修改下载中间件requests(下载器)无法执行js代码下载器本身不支持代理下载中间件是一个用来hooks进Scrapy的request/response处理过程的框架。它是一个轻量级的底层系统,用来全局修改scrapy的request和response。scrapy框架中的下载中间件,是实现了特殊方法的类。scrapy系统自带的中间件被放在DOWNL...原创 2019-10-30 21:53:04 · 100 阅读 · 0 评论 -
scrapy练手项目(二)CrawlSpider
1、创建项目注意区分默认的爬虫文件scrapy genspider -t crawl [文件名] [起始url]2、分析url设置规则class JianshuSpider(CrawlSpider): name = 'jianshu' # allowed_domains = ['jianshu.com'] start_urls = ['https://www.jia...原创 2019-10-30 21:52:47 · 262 阅读 · 0 评论 -
抓包工具fiddler的使用
Network:监听工具XHR:ajax请求动态加载的内容需要在XHR里面的url获取抓包作用:网页动态加载时获取动态加载内容抓包工具:fiddler:默认抓取http的内容https证书不一样需要安装安装证书...原创 2019-10-25 11:24:13 · 688 阅读 · 0 评论 -
网页解析lxml
换源下载第三方 pip install lxml -i https://pypi.doubanio.com/simple页面解析结构化:先有结构,然后结构里存数据,转字典处理非结构化:HTML,正则表达式,lxml,bs4xml标记语言lxml-xpath路径语言路径表达式用于定位lxml语法表达式nodename 选取当前节点的所有nodename子节点/ 根路径// 当前...原创 2019-10-25 11:22:49 · 219 阅读 · 0 评论 -
BeautifulSoup4(bs4)的使用
python写的第三方库需要用解析器soup = BeautifulSoup(res, 'lxml')解析器默认html.parser,一般用更快的lxmlfrom bs4 import BeautifulSoupimport requestsres = requests.get('https://www.baidu.com').content.decode()soup = B...原创 2019-10-25 11:20:31 · 576 阅读 · 0 评论 -
scrapy (1)框架的安装与使用
requests 多线程 回调函数callbackrequest.get() # 阻塞scrapy框架自带并发、去重、调度安装Windows1.在https://www.lfd.uci.edu/~gohlke/pythonlibs/ 下载对应的Twisted的版本文件2. 在命令行进入到Twisted的目录 执行pip install 加Twisted文件名3.执行pip ins...原创 2019-10-25 11:19:38 · 109 阅读 · 0 评论 -
scrapy练手项目1全书网小说信息
items文件import scrapyclass QuanshuItem(scrapy.Item): # define the fields for your item here like: # name = scrapy.Field() title = scrapy.Field() author = scrapy.Field() link = ...原创 2019-10-25 11:18:47 · 186 阅读 · 0 评论 -
requests库的使用
requests 功能和 urllib一样将cookies 和 http变成了参数请求方式re = requests.get('http://www.baidu.com')re = requests.post('http://baidu.com')响应text返回文本内容,会乱码,requests转码时基于http头部推测转码content返回二进制内容json方法 ...原创 2019-10-19 11:35:44 · 413 阅读 · 0 评论 -
使用urllib3对应目录下载图片
基本流程创建实例调用函数req = urllib3.PoolManager()建立连接,构造http请求data = req.request('GET', 'http://www.weimeitupian.com/page/{}'.format(page))分析源代码,正则抓取数据:item = re.findall(r'</a></div>--&g...原创 2019-10-15 10:04:28 · 1205 阅读 · 0 评论 -
用socket批量下载百度图片
# socket 标准库import socketimport reurl = 'http://image.baidu.com/search/index?tn=baiduimage&word=%E5%8A%A8%E6%BC%AB'# 创建客户端client = socket.socket()# 连接百度client.connect(('image.baidu.com',...原创 2019-10-13 14:56:17 · 184 阅读 · 0 评论 -
urllib库的使用
urllib库包含四个模块urllib.requests:请求模块,用于发起网络请求urllib.parse:解析模块,用于解析URLurllib.error:异常处理模块,用于处理request引起的异常urllib.robotparse:用于解析robots.txt文件urllib.requestsimport urllib.requestdata = urllib.requ...原创 2019-10-13 14:11:31 · 155 阅读 · 0 评论