随笔分类 - python 运维开发
摘要:一、概述 架构 区块链开源实现hyperledger fabric架构详解 hyperledger fabric是区块链中联盟链的优秀实现,主要代码由IBM、Intel、各大银行等贡献,目前v1.1版的kafka共识方式可达到1000/s次的吞吐量。本文中我们依次讨论:区块链的共通特性、fabric
阅读全文
摘要:一、概述 线上有一个mysql,是在docker里面运行的。 关于docker封装mysql镜像,请参考链接:https://www.cnblogs.com/xiao987334176/p/11984692.html 为了避免数据丢失,需要做数据备份,但是不能影响mysql运行。所以这里采用xtra
阅读全文
摘要:一、概述 爬取步骤 第一步:获取视频所在的网页 第二步:F12中找到视频真正所在的链接 第三步:获取链接并转换成机械语言 第四部:保存 二、分析视频链接 获取视频所在的网页 以酷6网为例,随便点击一个视频播放链接,比如:https://www.ku6.com/video/detail?id=udfY
阅读全文
摘要:一、概述 在上一篇文章中,链接如下:https://www.cnblogs.com/xiao987334176/p/13791061.html 已经介绍了pyecharts画一些基本图形,接下来介绍画地图 二、世界地图 from pyecharts import options as opts fr
阅读全文
摘要:一、概述 Charts是一个纯Javascript的图表库,可以流畅的运行在PC和移动设备上,兼容当前绝大部分浏览器,底层依赖轻量级的Canvas类库ZRender,提供直观、生动、可交互、可高度个性化定制的数据可视化图表。ECharts提供了常规的折线图、柱状图、散点图、饼图、K线图,用于统计的盒
阅读全文
摘要:一、概述 简介 Fiddler是位于客户端和服务器端之间的代理,也是目前最常用的抓包工具之一 。它能够记录客户端和服务器之间的所有 请求,可以针对特定的请求,分析请求数据、设置断点、调试web应用、修改请求的数据,甚至可以修改服务器返回的数据,功能非常强大,是web调试的利器。 看到这么多的应用,是
阅读全文
摘要:一、概述 在众多的网站防爬措施中,有一种是根据ip的访问频率进行限制,即在某一时间段内,当某个ip的访问次数达到一定的阀值时,该ip就会被拉黑、在一段时间内禁止访问。 应对的方法有两种: 1. 降低爬虫的爬取频率,避免IP被限制访问,缺点显而易见:会大大降低爬取的效率。 2. 搭建一个IP代理池,使
阅读全文
摘要:一、概述 在之前的文章中,一般是抓取某个页面信息。那么如何抓取一整个网站的信息呢? 想像一下,首先我们需要解析一个网站的首页, 解析出其所有的资源链接(ajax方式或绑定dom事件实现跳转忽略),请求该页面所有的资源链接, 再在资源链接下递归地查找子页的资源链接,最后在我们需要的资源详情页结构化数据
阅读全文
摘要:一、概述 默认Scrapy callback只能接函数名,不能传参数,我如果想给callback传递多个参数呢? 回调方法示例: yield Request(url=self.base_url + 'QueryInfo', headers=self.request_headers, method="
阅读全文
摘要:一、概述 使用情景 在通过scrapy框架进行某些网站数据爬取的时候,往往会碰到页面动态数据加载的情况发生,如果直接使用scrapy对其url发请求,是绝对获取不到那部分动态加载出来的数据值。但是通过观察我们会发现,通过浏览器进行url请求发送则会加载出对应的动态加载出的数据。那么如果我们想要在sc
阅读全文
摘要:一、无头模式 from selenium import webdriver from selenium.webdriver.chrome.options import Options # => 引入Chrome的配置 import time # 配置 ch_options = Options() c
阅读全文
摘要:一、概述 Selenium自动化测试工具,可模拟用户输入,选择,提交。 爬虫实现的功能: 输入python,选择地点:上海,北京 >就去爬取上海,北京2个城市python招聘信息 输入会计,选择地址:广州,深圳,杭州 >就去爬取广州,深圳,杭州3个城市会计招聘信息 根据输入的不同,动态爬取结果 二、
阅读全文
摘要:一、概述 一般Selenium是在windows系统跑的,但是由于性能问题,需要在linux服务器中运行,效率更高。 这里以centos 7.6系统来演示,如何一步步安装。 二、安装Chrome 下载 访问下载页面:https://www.chrome64bit.com/index.php/goog
阅读全文
摘要:一、概述 Selenium3.8版本以后,已经不支持PhanTomJS了,可以使用谷歌,火狐的无头浏览器来代替PhanTomJS 二、安装 确认版本 使用chrome的无头浏览器,需要下载谷歌驱动chromedriver.exe chromedriver.exe下载 淘宝的镜像下载地址:https:
阅读全文
摘要:一、概述 所谓下载URL图片就是指通过网络图片的URL去用脚本自动获取和下载图片到本地。 这里需要用到第三方库requests,先找到下载的图片地址,比如: http://www.py3study.com/Public/images/article/thumb/random/48.jpg 二、代码实
阅读全文
摘要:一、概述 scrapy-redis简介 scrapy-redis是scrapy框架基于redis数据库的组件,用于scrapy项目的分布式开发和部署。 有如下特征: 1. 分布式爬取 您可以启动多个spider工程,相互之间共享单个redis的requests队列。最适合广泛的多个域名网站的内容爬取
阅读全文
摘要:一、概述 之前利用Scrapy爬取的数据,都是写入在json文件中,现在需要写入到mysql中。 在items.py中,主要有2个字段: class CityItem(scrapy.Item): name = scrapy.Field() url = scrapy.Field() 环境说明 mysq
阅读全文
摘要:一、概述 使用Reuqests-html的render函数,它会在用户目录(默认是~/.pyppeteer/)中下载一个chromium,然后用它来执行JS代码。 执行之后,会下载chromium [W:pyppeteer.chromium_downloader] start chromium do
阅读全文
摘要:一、概述 在上一篇文章中,链接如下:https://www.cnblogs.com/xiao987334176/p/13656055.html 已经介绍了如何使用Splash抓取javaScript动态渲染页面 这里做一下项目实战,以爬取京东商城商品冰淇淋为例吧 环境说明 操作系统:centos 7
阅读全文
摘要:一、概述 Splash是一个javascript渲染服务。它是一个带有HTTP API的轻量级Web浏览器,使用Twisted和QT5在Python 3中实现。QT反应器用于使服务完全异步,允许通过QT主循环利用webkit并发。一些Splash功能: 并行处理多个网页 获取HTML源代码或截取屏幕
阅读全文