随笔分类 -  爬虫

摘要:引言 在爬虫的学习和工作中,经常会遇到一些让人急剧脱发的问题,尤其是js逆向相关的数据爬取操作。但是,如果在爬虫中你无法解决js加密逆向的数据爬取,那么相信你也只能在爬虫领域的边缘打打游击,如果想步入到爬虫更深的领域,那么js加密算法逆向分析是必须要掌握的技能。 好消息 近期由于遇到了很多同学从各个 阅读全文
posted @ 2020-09-01 14:12 波晓张 阅读(3417) 评论(0) 推荐(2) 编辑
摘要:### 需求:爬取https://m.vmall.com/help/hnrstoreaddr.htm荣耀线下门店中的门店详情信息。页面显示如下: - 首页显示 - 详情页显示 ### 基于抓包工具分析如下: - ### 查看定位到数据包的请求头信息: - 请求的url和请求方式如下: - 请求携带的 阅读全文
posted @ 2020-02-17 10:32 波晓张 阅读(2639) 评论(1) 推荐(2) 编辑
摘要:- 中国空气质量在线监测分析平台是一个收录全国各大城市天气数据的网站,包括温度、湿度、PM 2.5、AQI 等数据,链接为:https://www.aqistudy.cn/html/city_detail.html,网站显示为: 该网站所有的空气质量数据都是基于图表进行显示的,并且都是出发鼠标滑动或 阅读全文
posted @ 2019-07-25 11:30 波晓张 阅读(11638) 评论(20) 推荐(8) 编辑
摘要:pyppeteer模块的基本使用 引言 Selenium 在被使用的时候有个麻烦事,就是环境的相关配置,得安装好相关浏览器,比如 Chrome、Firefox 等等,然后还要到官方网站去下载对应的驱动,最重要的还需要安装对应的 Python Selenium 库,确实是不是很方便,另外如果要做大规模 阅读全文
posted @ 2019-07-01 12:37 波晓张 阅读(3899) 评论(1) 推荐(1) 编辑
摘要:引入 很多同学对于异步这个概念只是停留在了“听说很NB”的认知层面上,很少有人能够在项目中真正的使用异步实现高性能的相关操作。本节课,咱们就一起来学习一下,爬虫中如何使用异步实现高性能的数据爬取操作。 背景 其实爬虫的本质就是client发请求批量获取server的响应数据,如果我们有多个url待爬 阅读全文
posted @ 2019-05-11 18:25 波晓张 阅读(5754) 评论(2) 推荐(4) 编辑
摘要:增量式爬虫 引言: 当我们在浏览相关网页的时候会发现,某些网站定时会在原有网页数据的基础上更新一批数据,例如某电影网站会实时更新一批最近热门的电影。小说网站会根据作者创作的进度实时更新最新的章节数据等等。那么,类似的情景,当我们在爬虫的过程中遇到时,我们是不是需要定时更新程序以便能爬取到网站中最近更 阅读全文
posted @ 2019-02-14 12:35 波晓张 阅读(2479) 评论(0) 推荐(0) 编辑
摘要:今日概要 日志等级 请求传参 如何提高scrapy的爬取效率 今日详情 一.Scrapy的日志等级 - 在使用scrapy crawl spiderFileName运行程序时,在终端里打印输出的就是scrapy的日志信息。 - 日志信息的种类: ERROR : 一般错误 WARNING : 警告 I 阅读全文
posted @ 2018-12-05 09:03 波晓张 阅读(1374) 评论(0) 推荐(0) 编辑
摘要:今日概要 递归爬取解析多页页面数据 scrapy核心组件工作流程 scrapy的post请求发送 今日详情 1.递归爬取解析多页页面数据 - 需求:将糗事百科所有页码的作者和段子内容数据进行爬取切持久化存储 - 需求分析:每一个页面对应一个url,则scrapy工程需要对每一个页码对应的url依次发 阅读全文
posted @ 2018-12-05 09:02 波晓张 阅读(1602) 评论(0) 推荐(0) 编辑
摘要:今日概要 基于终端指令的持久化存储 基于管道的持久化存储 今日详情 1.基于终端指令的持久化存储 保证爬虫文件的parse方法中有可迭代类型对象(通常为列表or字典)的返回,该返回值可以通过终端指令的形式写入指定格式的文件中进行持久化操作。 执行输出指定格式进行存储:将爬取到的数据写入不同格式的文件 阅读全文
posted @ 2018-12-05 09:01 波晓张 阅读(1840) 评论(0) 推荐(1) 编辑
摘要:前言 随着移动市场的火热,各大平台都陆陆续续的推出了自己的移动端APP来拉拢吸引和便捷其广大的用户。那么在移动端的平台当时势必会出现大量有价值的信息和数据,那这些数据我们是否可以去享用一下呢?那么接下来就进入我们的移动端APP数据的爬虫中来吧。 今日概要 fiddler简介 手机APP抓包设置 fi 阅读全文
posted @ 2018-12-05 08:59 波晓张 阅读(2922) 评论(0) 推荐(0) 编辑
摘要:引入 相关的门户网站在进行登录的时候,如果用户连续登录的次数超过3次或者5次的时候,就会在登录页中动态生成验证码。通过验证码达到分流和反爬的效果。 今日概要 使用云打码平台识别验证码 知识点回顾 session的创建方式 session的作用 proxies参数的作用 高匿,透明代理的区别 今日内容 阅读全文
posted @ 2018-12-05 08:57 波晓张 阅读(1507) 评论(0) 推荐(0) 编辑
摘要:jupyter notebook环境安装 一、什么是Jupyter Notebook? 1. 简介 Jupyter Notebook是基于网页的用于交互计算的应用程序。其可被应用于全过程计算:开发、文档编写、运行代码和展示结果。——Jupyter Notebook官方介绍 简而言之,Jupyter 阅读全文
posted @ 2018-12-03 11:28 波晓张 阅读(1544) 评论(1) 推荐(0) 编辑
摘要:引入 在通过scrapy框架进行某些网站数据爬取的时候,往往会碰到页面动态数据加载的情况发生,如果直接使用scrapy对其url发请求,是绝对获取不到那部分动态加载出来的数据值。但是通过观察我们会发现,通过浏览器进行url请求发送则会加载出对应的动态加载出的数据。那么如果我们想要在scrapy也获取 阅读全文
posted @ 2018-11-24 18:51 波晓张 阅读(2821) 评论(1) 推荐(0) 编辑
摘要:今日概要 scrapy下载中间件 UA池 代理池 今日详情 一.下载中间件 先祭出框架图: 下载中间件(Downloader Middlewares) 位于scrapy引擎和下载器之间的一层组件。 - 作用: (1)引擎将请求传递给下载器过程中, 下载中间件可以对请求进行一系列处理。比如设置请求的 阅读全文
posted @ 2018-11-24 18:44 波晓张 阅读(2238) 评论(0) 推荐(0) 编辑
摘要:redis分布式部署 1.scrapy框架是否可以自己实现分布式? - 不可以。原因有二。 其一:因为多台机器上部署的scrapy会各自拥有各自的调度器,这样就使得多台机器无法分配start_urls列表中的url。(多台机器无法共享同一个调度器) 其二:多台机器爬取到的数据无法通过同一个管道对数据 阅读全文
posted @ 2018-09-21 15:56 波晓张 阅读(2394) 评论(0) 推荐(0) 编辑
摘要:引入 今日概要 图片懒加载 selenium phantomJs 谷歌无头浏览器 知识点回顾 验证码处理流程 今日详情 动态数据加载处理 一.图片懒加载 什么是图片懒加载? 案例分析:抓取站长素材http://sc.chinaz.com/中的图片数据 #!/usr/bin/env python # 阅读全文
posted @ 2018-09-21 10:50 波晓张 阅读(5690) 评论(5) 推荐(1) 编辑
摘要:引入 回顾requests实现数据爬取的流程 其实,在上述流程中还需要较为重要的一步,就是在持久化存储之前需要进行指定数据解析。因为大多数情况下的需求,我们都会指定去使用聚焦爬虫,也就是爬取页面中指定部分的数据值,而不是整个页面的数据。因此,本次课程中会给大家详细介绍讲解三种聚焦爬虫中的数据解析方式 阅读全文
posted @ 2018-09-20 18:19 波晓张 阅读(8698) 评论(0) 推荐(1) 编辑
摘要:今日内容 session处理cookie proxies参数设置请求代理ip 基于线程池的数据爬取 知识点回顾 xpath的解析流程 bs4的解析流程 常用xpath表达式 常用bs4解析方法 了解cookie和session - 无状态的http协议 - 如上图所示,HTTP协议 是无状态的协议, 阅读全文
posted @ 2018-09-20 15:46 波晓张 阅读(3295) 评论(1) 推荐(2) 编辑
摘要:引入 Requests 唯一的一个非转基因的 Python HTTP 库,人类可以安全享用。 警告:非专业使用其他 HTTP 库会导致危险的副作用,包括:安全缺陷症、冗余代码症、重新发明轮子症、啃文档症、抑郁、头疼、甚至死亡。 今日概要 基于requests的get请求 基于requests模块的p 阅读全文
posted @ 2018-09-20 14:12 波晓张 阅读(4813) 评论(3) 推荐(2) 编辑
摘要:引入 提问:如果想要通过爬虫程序去爬取”糗百“全站数据新闻数据的话,有几种实现方法? 方法一:基于Scrapy框架中的Spider的递归爬取进行实现(Request模块递归回调parse方法)。 方法二:基于CrawlSpider的自动爬取进行实现(更加简洁和高效)。 今日概要 CrawlSpide 阅读全文
posted @ 2018-09-19 16:26 波晓张 阅读(2813) 评论(0) 推荐(1) 编辑