![](https://img-blog.csdnimg.cn/20200819184624248.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
python爬虫开发学习
python爬虫入门到入狱,爬虫学得好,劳饭管到饱,铁饭碗了解一下。
gemoumou
hello word
展开
-
python学习笔记四一列表元组字典等
•python中的内置类型◾str◾list◾tuple◾set◾dict•list 列表•一组由有序数据组成的序列◾数据有先后数据◾数据可以不是一类数据•list 的创建◾直接创建,用中括号创建,内容使用因为逗号 , 隔开◾使用list创建◾列表包含单个字符串的时候是一个特例#直接赋值创建列表l1 = [1,2,3,4,5]#list内的数据可以不是一个类型l2 = [1,2,3,"gepengcheng","杨雨"]print (l1)print (l2)[1, 2,原创 2020-08-15 10:59:25 · 169 阅读 · 0 评论 -
python学习笔记一 一变量与运算符
#声明的三种格式#格式1s1 = '我爱una'#格式2s2 = s1 = 'i love una'#格式3s1,s2,s3 = '我爱una','i love una',52099变量类型¶•严格意义上讲,python只有一种类型•标准数据有六种类型◾数字 number◾字符串类型 str◾列表 list◾元组 tuple◾字典 dict◾集合 set数字类型 number•python中数字没有大小限制常见数字分类•一、整数◾没有小数部分◾包含整数,负数,0◾原创 2020-08-15 10:58:06 · 223 阅读 · 0 评论 -
python学习笔记二— 循环
程序结构•三种结构◾顺序◾循环◾分支分支结构•分支结构基本语法◾if (如果) 条件表达式:◾语句1◾语句2◾语句3◾…•条件表达式就是计算机结果必须为 布尔值 的表达式•表达式后面的:冒号不能少(英文输入法)•注意if后面出现的语句,如果属于if语句块,则必须同一个缩进等级(4空格/1TAB键)•条件表达式结果为 True 执行if后面的缩进语句块# if 语句例子1# 如果我和una一辈子不分开,我就太幸福了。love1 = "我和una一辈子不分开"if love1:原创 2020-08-15 10:58:46 · 160 阅读 · 0 评论 -
python学习笔记三一 函数学习
函数学习range函数•生成有序的序列•生成数字队列可以定制# range函数案例1# 生成一个从1到10的数字序列# range的生成序列的两个面数字是左包括,右不包括(如下所示只包括1不包括10)dig_list = range (1,10)for dig in dig_list: print (dig)123456789#range案例2#打印1到9的数字序列for dig in range (1,10): print (dig)123原创 2020-08-15 10:56:58 · 324 阅读 · 0 评论 -
24-移动端app数据爬取
移动端数据爬取安装fiddler手机端安装fiddler证书修改手机代理(改成电脑ip,端口设置为fiddler的端口)上述设置完成后我们就可以使用fiddler抓取手机端的数据了实战案例:抖音APP数据爬取为了方便操作我们使用向日葵把手机屏幕投屏到电脑上...原创 2020-09-09 23:48:47 · 766 阅读 · 0 评论 -
23-爬虫之scrapy框架增量式实时监测数据爬取10
增量式概念:监测网站数据更新的情况,以便于爬取到最新更新出来的数据实现核心:去重实战中去重的方式:记录表记录表需要记录的是爬取过的相关数据爬取过的相关信息:url,标题,等唯一标识(我们使用每一部电影详情页的url作为标识)只需要使用某一组数据,改组数据如果可以作为网站唯一标识信息即可,只要可以表示网站内容中唯一标识的数据我们统称为 数据指纹。去重的方式对应的记录表:python中的set集合(不可行)set集合无法持久化存储redis中的set集合就可以因为可原创 2020-09-05 03:32:17 · 993 阅读 · 0 评论 -
22-爬虫之scrapy框架分布式09
分布式实现分布式的方式:scrapy+redis(scrapy结合着scrapy-redis组件)原生的scrapy框架是无法实现分布式的什么是分布式需要搭建一个分布式机群,然后让机群中的每一台电脑执行同一组程序,让其对同一组资源进行联合且分布的数据爬取。因调度器,管道无法被分布式机群共享所以原生架构scrapy无法实现分布式使用scrapy-redis组件可以给原生的scrapy框架提供共享管道和调度器实现分布式pip install scrapy-redis实现流原创 2020-09-03 23:40:02 · 185 阅读 · 0 评论 -
21-爬虫之scrapy框架selenium的使用08
selenium在scrapy中的使用案例:爬取网易新闻中,国内,国际,军事,航空,无人机这五个板块下的所有新闻数据(标题+内容)基本使用创建一个爬虫工程:scrapy startproject proName进入工程创建一个基于CrawlSpider的爬虫文件scrapy genspider spiderName www.xxx.com执行工程:scrapy crawl spiderName分析首页非动态加载的数据在首页爬取板块对应的url每一个板块对应的页面中的新闻是动态加原创 2020-09-02 01:47:42 · 154 阅读 · 0 评论 -
20-爬虫之scrapy框架CrawlSpider07
CrawlSpider是Spider的一个子类,Spider是爬虫文件中的爬虫父类之类的功能一定是对于父类作用:被作用于专业实现全站数据爬取将一个页面下的所有页码对应的数据进行爬取基本使用创建一个爬虫工程:scrapy startproject proName进入工程创建一个基于CrawlSpider的爬虫文件scrapy genspider -t crawl spiderName www.xxx.com执行工程:scrapy crawl spiderName原创 2020-09-01 22:34:02 · 213 阅读 · 0 评论 -
19-爬虫之scrapy框架大文件下载06
大文件下载创建一个爬虫工程:scrapy startproject proName进入工程目录创建爬虫源文件:scrapy genspider spiderName www.xxx.com执行工程:scrapy crawl spiderName大文件数据是在管道中请求到的下载管道类是scrapy封装好的直接调用即可:from scrapy.pipelines.images import ImagesPipeline # 该管道提供数据下载功能(图片视频音频皆可使用该类)重写管道类的三个方法:原创 2020-09-01 02:16:59 · 447 阅读 · 1 评论 -
18-爬虫之scrapy框架请求传参实现的深度爬取(全站爬取)05
请求传参实现的深度爬取深度爬取:爬取的数据没有在同一张页面中(首页数据+详情页数据)在scrapy中如果没有请求传参我们是无法进行持久化存储数据的实现方式:scrapy.Request(url,callback,meta)meta是一个字典,可以将meta传递给callbackcallback取出meta:response.meta爬虫源文件import scrapyfrom middlePro.items import MiddleproItemclass M原创 2020-08-31 00:24:41 · 399 阅读 · 1 评论 -
17-爬虫之scrapy框架五大核心组件工作流程及下载中间件介绍04
scrapy的五大核心组件引擎(Scrapy)对整个系统的数据流进行处理, 触发事务(框架核心).调度器(Scheduler)用来接受引擎发过来的请求. 由过滤器过滤重复的url并将其压入队列中, 在引擎再次请求的时候返回. 可以想像成一个URL(抓取网页的网址或者说是链接)的优先队列, 由它来决定下一个要抓取的网址是什么.下载器(Downloader)用于下载网页内容, 并将网页内容返回给蜘蛛(Scrapy下载器是建立在twisted这个高效的异步模型上的).爬虫(Spiders)爬虫是主原创 2020-08-31 00:06:26 · 593 阅读 · 0 评论 -
16-爬虫之scrapy框架手动请求发送实现全站数据爬取03
scrapy的手动请求发送实现全站数据爬取创建一个爬虫工程:scrapy startproject proName进入工程目录创建爬虫源文件:scrapy genspider spiderName www.xxx.com执行工程:scrapy crawl spiderName原创 2020-08-30 21:45:46 · 419 阅读 · 0 评论 -
15-爬虫之scrapy框架基于管道实现数据库备份02
基于管道实现数据备份将爬取到的数据分别存储到不同的载体mysql下载安装:https://blog.csdn.net/weixin_42869365/article/details/83472466redisl下载安装:https://www.cnblogs.com/xing-nb/p/12146449.html原创 2020-08-30 17:24:51 · 181 阅读 · 0 评论 -
14-爬虫之scrapy框架的基本使用01
scrapy框架简介:Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架,非常出名,非常强悍。所谓的框架就是一个已经被集成了各种功能(高性能异步下载,队列,分布式,解析,持久化等)的具有很强通用性的项目模板。对于框架的学习,重点是要学习其框架的特性、各个功能的用法即可。环境安装:mac、linux:pip install scrapywindows:pip3 install wheel下载twisted http://www.lfd.uci.edu/~gohlke/原创 2020-08-30 00:31:14 · 209 阅读 · 0 评论 -
13-爬虫之js加密,解密,混淆,逆向破解思路
url:https://www.aqistudy.cn/apinew/aqistudyapi.php分析思路:原图现图1,我们点击查询按钮后发现抓取到了2个一样的数据包,包含请求url和post的请求方式2,发起多次请求发现 请求参数 d 是动态加密的数据值,我们只要能破解其中一个数据包的内容剩下的一个也可以同理破解3,返回的响应数据就是我们想要捕获的空气指标数据值,我们发现响应数据也是一组被加密的密文数据,我们必须将密文数据解密成原文数据才可以被我们使用4,通过类型可以看见发起的原创 2020-08-29 13:41:57 · 3140 阅读 · 4 评论 -
12-基于selenium实现12306模拟登录,及京东登录滑动缺口验证模拟登录
流程分析:1,我们打开网站默认显示的是二维码登录,首先我们需要点击账号登录2,输入账号密码3,使用超级鹰打码平台进行验证码坐标识别在进行点击4,点击登录原创 2020-08-27 18:05:11 · 1406 阅读 · 1 评论 -
11-selenium浏览器自动化
selenium- 概念:Selenium 是一个 Web 应用的自动化框架自动化:通过它,我们可以写出自动化程序,像人一样在浏览器里操作web界面。 比如点击界面按钮,在文本框中输入文字 等操作,还能从web界面获取信息。 比如获取12306票务信息,招聘网站职位信息,财经网站股票价格信息 ,以及滑动模块验证码滑动等等,然后用程序进行分析处理。Selenium 的自动化原理- selenium的安装- pip install selenium- 安装浏览器驱动- 浏览器驱动 是和 浏原创 2020-08-26 23:17:50 · 2728 阅读 · 0 评论 -
10-异步爬虫(线程池/asyncio协程)实战案例
异步爬虫:基于线程池基于单线程+多任务的异步爬虫线程池为了体现效果,我们自己搭建一个web服务Flask的基本使用环境安装 pip install flask创建一个py源文件test.html# -*- coding: utf-8 -*-from flask import Flaskfrom flask import render_templateimport time#实例化一个appapp = Flask(__name__)# 创建视图原创 2020-08-25 15:35:55 · 1107 阅读 · 0 评论 -
09-百度ai图片识别
创建应用下载sdk接入文档链接:https://ai.baidu.com/ai-doc/OCR/3k3h7yeqa#%E9%80%9A%E7%94%A8%E6%96%87%E5%AD%97%E8%AF%86%E5%88%AB解压新建AipOcr:AipOcr是OCR的Python SDK客户端,使用OCR时提供了一系列的交互方法语法规则,如下id key 参考百度ai上创建的应用:from aip import AipOcr""" 创建应用后获取的APPID、AK、SK ""原创 2020-08-24 22:23:13 · 543 阅读 · 0 评论 -
08-百度ai语音合成
网址:http://ai.baidu.com/百度AI实现的爬虫功能:图像识别语音识别/语音合成自然语言处理使用流程点击控制台登录选择想要的功能在功能下创建一个app选择对应的pythonSDK文档进行代码实现语音合成案例:首先在百度ai上创建一个应用选择pythonSDK进行下载找到python接入文档├── README.md├── aip //SDK目录│ ├── __init__.py //导出类│原创 2020-08-24 20:29:19 · 905 阅读 · 1 评论 -
07-爬虫验证码破解实战
验证码识别基于线上的打码平台识别验证码打码平台有:1,超级鹰(推荐)http://www.chaojiying.com/2,云打码打码兔等超级鹰的使用:1,注册登录购买账户积分2,创建一个软件ID创建好后就会生成一个id信息3,选择超级鹰开发文档选择对应的语言点击下载封装好的超级鹰打码平台的类# -*- coding: utf-8 -*-import requestsfrom hashlib import md5class Chaojiyin原创 2020-08-24 14:10:57 · 358 阅读 · 0 评论 -
06-代理爬虫实战
爬虫代理概述在爬虫中,所谓的代理指的就是代理服务器代理服务器的作用就是用来转发请求和响应如果我们的爬虫在短时间内对服务器发起高频的请求,那么服务器会检测到这样的一个异常行为请求,就会将该请求对应设备的ip进行封禁,设备就无法对服务器再次进行请求发送了使用代理服务器进行信息爬取,可以很好的解决IP限制的问题一般模式: 客户端 ----> 服务器端代理模式: 客户端----> 代理 -----> 服务器端我们浏览信息的时候,先向代理服务器发出请求,然后又代理服务原创 2020-08-24 10:55:39 · 361 阅读 · 0 评论 -
05-xpath爬虫数据解析
Xpaht数据解析环境安装pip install lxml解析原理原创 2020-08-23 13:41:23 · 246 阅读 · 0 评论 -
04-正则解析+bs4基础爬虫
一,正则表达式正则匹配字符串正则表达式必备技能:元字符:(单个字符)1,普通字符2, 特殊字符. 匹配所有文字符号,除了换行\w 匹配数字,字母,下划线\d 匹配数字\W 匹配除了数字,字母,下划线\D 匹配除了数字^ 匹配一句话得开头$ 匹配一句话得结尾[abc] 字符组 等于 \w[^abc] 字符组 非字符组 等于 \W3,量词用来修饰前面得一个单位的出现次数* 表示出现0次或者更多次+ 表示出现一次或者更多次? 表示出现0次或者1次{n}表示出现n次原创 2020-08-21 23:05:12 · 2568 阅读 · 0 评论 -
03-requests模块携带UA请求头,携带参数,携带cookie,持久化存储
requess爬虫中一个基于网络请求的模块安装 pip install requests作用:模拟浏览器发起请求爬虫流程1,指定url2,发起请求3,获取相应数据(爬取到的页面源码数据)4,持久化存储案例一# -*- coding: utf-8 -*-import requests # 调用requests模块from lxml import etreeurl = "http://www.shicimingju.com/book/sanguoyanyi.html" #原创 2020-08-20 13:26:41 · 2242 阅读 · 0 评论 -
02-requests模块的概述
什么是requests模块requests模块是python中原生的基于网络请求的模块,其主要作用是用来模拟浏览器发起请求。功能强大,用法简洁高效。在爬虫领域中占据着半壁江山的地位。为什么要使用requests模块因为在使用urllib模块的时候,会有诸多不便之处,总结如下:手动处理url编码手动处理post请求参数处理cookie和代理操作繁琐…使用requests模块:自动处理url编码自动处理post请求参数简化cookie和代理操作…如何使用requests模块安装:原创 2020-08-19 20:21:42 · 570 阅读 · 0 评论 -
01-爬虫的概述
什么是爬虫我们首先需要知道什么是爬虫。爬虫,即网络爬虫,大家可以理解为在网络上爬行的一只蜘蛛,互联网就比作一张大网,而爬虫便是在这张网上爬来爬去的蜘蛛,如果它遇到自己的猎物(所需要的资源),那么它就会将其抓取下来。比如它在抓取一个网页,在这个网中他发现了一条道路,其实就是指向网页的超链接,那么它就可以爬到另一张网上来获取数据。因为python的脚本特性,python易于配置,对字符的处理也非常灵活,加上python有丰富的网络抓取模块,所以两者经常联系在一起。Python爬虫开发工程师,从网站某一个.原创 2020-08-19 18:45:39 · 283 阅读 · 0 评论