自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(51)
  • 收藏
  • 关注

原创 Python爬虫从入门到精通:(45)JS逆向:空中网逆向分析:js混淆_Python涛哥

我们来看下空中网的逆向分析js逆向分析抓包后,经过分析,我们看到password在一个login-handler xxx.js文件中我们点进去搜索password:但我们看到,password在一段很长的文本中。这里就涉及到了js混淆。js混淆:什么是js混淆:将js核心的相关代码进行变相的加密,加密后的数据就是js混淆之后的结果。js反混淆:反混淆的线上工具(不理想)浏览器自带的反混淆工具设置(推荐)开发者工具中的Sourse -> settings -&gt

2021-11-12 18:54:15 4157 9

原创 Python爬虫从入门到精通:(44)JS逆向:试客联盟的逆向分析_Python涛哥

我们来看下试客联盟的逆向分析,切换到密码登陆。JS代码解析我们进行抓包。经过分析,我们看到密码可能在这个js里实现点进去后,我们发现源码里有一段var key = new RSAKeyPair("10001",'',rsa_n);,那我们就怀疑这个可能就是密码的实现方式。我们打断点验证一下,果然停留在了这里。我们来看下这一部分源码:setMaxDigits(131); var formData = $("#loginForm").serializeArray();

2021-11-09 21:03:50 1847 1

原创 Python爬虫从入门到精通:(43)JS逆向:完美世界RAS逆向_Python涛哥

完美世界有很多游戏,比较出名的就是诛仙、魔兽世界等。完美今天就来看下完美世界登陆的逆向分析!JS逆向解析登陆的时候这里有个点击认证。没关系,完美先忽略它,直接点击。完美主要探讨密码的逆向方式。抓包登陆后,我们看到工具中XHR这一栏并没有登陆的url,那我们就点击全部进行查看。里面是有login的。表单数据中,我们看到了password的数据,那么长,基本判断是个RSA加密方式:我们搜索password,看到有很多符合条件的js,经过分析,我们判断出,ssologinAI.js可能是我们所要的

2021-11-05 14:22:50 1982

原创 Python爬虫从入门到精通:(42)JS逆向-闭包:凡科网逆向分析_Python涛哥

JS源码分析直接请求抓包如下:我们看到密文就是一个MD5的形式。那么我们来分析下JS代码。搜索pwd的时候,我们看到有49个。为了方便,我们可以试着搜索pwd:、pwd :、pwd=、pwd =。在搜索pwd=时,就看到了关于md5的函数:我们打断点定位后,发现果然是这段,我们点进去这个md5的函数:进去之后我们看到了这段md5的实现方式。当我们准备复制这一长段代码的时候,我们看到这是一个函数内包含的函数,那就很容易想要这个是一个闭包:那么,我们就把这个闭包函数,全部复制到调试工具

2021-10-28 21:26:46 2661 2

原创 Python爬虫从入门到精通:(41)JS逆向_RSA加密,Steam加密逆向_Python涛哥

RSA加密:RSA加密算法是一种非对称加密算法。在公开密钥加密和电子商业中RSA被广泛使用。非对称加密算法:非对称加密算法需要两个密钥:公开密钥(publickey:简称公钥)私有密钥(privatekey:简称私钥)公钥与私钥是一对,如果用公钥对数据进行加密,只有用对应的私钥才能解密。因为加密和解密使用的是两个不同的密钥,所以这种算法叫作非对称加密算法。注意:使用时都是使用公匙加密使用私匙解密。公匙可以公开,私匙自己保留。算法强度复杂、安全性依赖于算法与密钥但是由于.

2021-10-26 22:53:22 839

原创 Python爬虫从入门到精通:(40)JS逆向_MD5算法,微信公众平台js算法改写_Python涛哥

MD5算法,微信公众平台js算法改写MD5简介MD5算法一般指MD5。MD5信息摘要算法(英语:MD5 Message-Digest Algorithm),一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hash value),用于确保信息传输完整一致。我们这里代码举例:某平台js算法改写!分析js源码我们打开网站,输入信息进行抓包。可以看到,username是正确显示的,而pwd却是一串字母+数字。很容易知道这个是md5。那么我们怎么获取这个明文呢?1.源码

2021-10-25 22:45:33 1131 3

原创 Python爬虫从入门到精通:(39)增量式爬虫_Python涛哥

概念检测网络数据更新的情况,以便于爬取到最新更新出来的数据实现核心去重实战中去重的方式:记录表记录表需要记录什么?记录的一定是爬取过的相关信息。例如某电影网:爬取过的相关信息:每一部电影详情页的url只需要使用某一组数据,该组数据如果可以作为该部电影的唯一标识即可,刚好电影详情页的url就可以作为电影的唯一标识。只要可以标识电影唯一标识的数据我们可以统称位数据指纹。去重的方式对应的记录表:python中的set集合(不可以)set集合无法持久化存储redis中的set

2021-10-23 15:05:42 613

原创 Python爬虫从入门到精通:(38)分布式爬虫_Python涛哥

什么是分布式爬虫:默认情况下,我们使用scrapy框架进行爬虫时使用的是单机爬虫,就是说它只能在一台电脑上运行,因为爬虫调度器当中的队列queue去重和set集合都只能在本机上创建的,其他电脑无法访问另外一台电脑上的内存和内容。分布式爬虫实现了多台电脑使用一个共同的爬虫程序,它可以同时将爬虫任务部署到多台电脑上运行,这样可以提高爬虫速度,实现分布式爬虫。分布式的主要内容在于配置!!!实现方式:scrapy+redis(scrapy结合着scrapy-redis组件)原生的scrapy框架是

2021-10-23 15:04:37 354

原创 Python爬虫从入门到精通:(37)selenium在scrapy中的使用_Python涛哥

这节课我们来爬取网易新闻中的国内,国际,军事,航空这四个板块下所有的新闻数据(标题+内容)分析:首页没有动态加载的数据爬取四个板块对应的url每一个板块对应的页面中的新闻标题是动态加载爬取新闻标题+详情页url每一条新闻详情页面中的数据不是动态加载爬取新闻内容创建工程scrapy startproject wangyiProcd wangyiPro``scrapy genspider wangyi www.xxx.com`修改配置文件等数据解析获取各

2021-10-21 15:30:38 336

原创 Python爬虫从入门到精通:(36)CrawlSpider实现深度爬取_Python涛哥

我们来看下CrawlSpider实现深度爬取。爬取阳光热线标题、状态、和详情页内容。https://wz.sun0769.com/political/index/politicsNewest?id=1&type=4&page=创建CrawlSpider工程scrapy startproject sunProcd sunProscrapy genspider -t crawl sun www.xxx.com修改配置文件等页面解析提取下页码链接我们看

2021-10-20 15:00:15 547

原创 Python爬虫从入门到精通:(35)CrawlSpider基础_Python涛哥

CrawlSpider:概念:其实是Spider的一个子类。Spider是爬虫文件中爬虫类的父类.子类的功能一定是多余父类.作用:被用作于专业实现全站数据爬取将一个页面下所有页面对应的数据进行爬取基本使用:创建一个工程cd 工程创建一个基于CrawlSpider的爬虫文件scrapy genspider -t crawl SpiderName www.xxx.com示例:创建一个工程:crawlProscrapy startproject crawlProcd

2021-10-18 23:13:17 233

原创 Python爬虫从入门到精通:(34)大文件下载_Python涛哥

还记得我们之前爬取的校花网图片吗?课程地址:爬取校花网中的图片数据这节课我们利用scrapy的大文件下载,来下载校花网图片http://www.521609.com/daxuexiaohua/创建工程我们先来创建一个工程imgPro:创建流程:xxxscrapy startproject imgProcd imgProscrapy genspider img www.xxx.com修改配置文件解析图片名称和地址很简单,直接分析到了都在<li>标签里。写代码:imp

2021-10-18 23:08:29 303

原创 Python爬虫从入门到精通:(33)scrapy中间件_Python涛哥

中间件作用:批量拦截请求和响应爬虫中间件下载中间件(推荐)拦截请求:篡改请求url伪装请求头信息UACookie设置代理(重点)拦截响应:篡改响应数据详解:我们创建个工程middlePro,爬取百度和搜狗。import scrapyclass MiddleSpider(scrapy.Spider): name = 'middle' # allowed_domains = ['www.xxx.com'] start

2021-10-17 20:19:12 191

原创 Python爬虫从入门到精通:(32)请求传参实现的深度爬取_Python涛哥

概念和方式:深度爬取:爬取的数据没有在同一张页面中(首页数据+详情页数据)在scrapy中如果没有请求传参,我们无法持久化存储数据实现方式:scrapy.Request(url,callback,meta)meta是一个字典,可以将meta传递给callbackcallback取出meta:response.meta['item']例程:爬取某电影网的电影名称和详情页的电影介绍http://www.4567kp.com/frim/index1.html这个网站首页和详

2021-10-17 20:15:18 593

原创 Python爬虫从入门到精通:(31)sscrapy的手动请求发送(爬取多页)_Python涛哥

我们之前用scrapy爬取过某网的段子,还记得怎么爬取吗?爬虫网站代码(spiders/duanzi.py):import scrapy# 这里需要导入items.py文件包from duanziPro.items import DuanziproItemclass DuanziSpider(scrapy.Spider): name = 'duanzi' # allowed_domains = ['www.xxx.com'] start_urls = ['https:/

2021-10-13 22:19:03 401

原创 Python爬虫从入门到精通:(30)scrapy将数据通过管道持久化存储到数据库_Python涛哥

上节我们讲到通过管道将数据存储到了本地txt文件。scrapy爬虫利用管道存储为txt文件那怎样存储到数据库呢?一样是通过管道,而且只要你了解了管道的初步,就非常简单!基于管道实现数据的备份课程:将爬取到的数据分布存储到不同的载体实现:将数据一份存储到mysql,一份存储到redis问题:管道文件中的一个管道类表示怎样的一组操作呢?一个管道类对应一种形式的持久化存储操作。如果将数据存储到不同的载体中,就需要使用多个管道类本地化存储的管道我们已经写好了。我们先来写存储mysql数据库的

2021-10-13 20:50:05 567

原创 Python爬虫从入门到精通:(29)scrapy数据持久化存储(基于管道)(重点)_Python涛哥

终端指令存储数据是方便,但只能存储到固定的格式,也不能存储到数据库里。那怎么可以存储到不同的格式和数据库呢?这时我们就需要用到管道!我们看下框架里另外两个文件:items.py和 pipelines.py我们先来看下items.pyimport scrapyclass DuanziproItem(scrapy.Item): # define the fields for your item here like: # name = scrapy.Field() pass

2021-10-13 20:47:42 339

原创 Python爬虫从入门到精通:(28)scrapy数据持久化存储(基于终端指令)_Python涛哥

scrapy数据持久化存储(基于终端指令):上节我们爬取到了内容,那么我们怎么做持久化存储呢?直接在parse方法中进行 with open() as f ?如果是这样的话,那我们就没必要使用框架了。scrapy框架中,我们封装好了持久化存储import scrapyclass DuanziSpider(scrapy.Spider): name = 'duanzi' # allowed_domains = ['www.xxx.com'] start_urls = ['h

2021-10-11 21:13:22 411

原创 Python爬虫从入门到精通:(27)scrapy框架04_scrapy数据解析_Python涛哥

scrapy数据解析这节课,我们来看下scrapy中的数据解析创建工程爬取内容:爬取段子网中的段子:https://duanzixing.com/段子/回顾上节课所学的知识(上节课地址),我们先来创建工程和爬虫文件:1.scrapy startproject duanziPro2.cd duanziPro3.scrapy genspider duanzi www.xxx.com创建好后,我们要不要忘记以下2点:修改下settings.py文件中的配置修改 ROBOTSTXT_O

2021-10-11 21:08:40 414

原创 Python爬虫从入门到精通:(26)scrapy框架03_scrapy框架爬虫所需的简单配置_Python涛哥

scrapy的简单爬虫配置上节课,我们爬取的内容并没有看到想要的结果。上节:scrapy框架的基本使用因为我们还需要配置下scrapysettings.py禁止robots上图中,我们看到了xxx/robots.txt 字样,说明scrapy框架与robots协议有关。scrapy默认是遵守robots协议的,我们在配置文件把它更改下 ```python # 在settings.py文件中,找到 ROBOTSTXT_OBEY = TRUE # 把它改为False R

2021-10-10 15:34:39 233

原创 Python爬虫从入门到精通:(25)scrapy框架02_scrapy框架的基本使用_Python涛哥

scrapy的基本使用创建一个工程命令:scrapy startproject ProName# 比如这里我创建一个工程,名字叫demoPro# 打开终端,输入:scrapy startprojiect demoPro目录结构这里先介绍2个,后续学习中再介绍其他 `spiders`文件夹:爬虫文件夹 - 必须要存放一个爬虫源文件 `settings.py` : 工程的配置文件cd ProName创建好工程后,我们需要先进入项目目录# 在终端

2021-10-10 15:29:20 193

原创 Python爬虫从入门到精通:(24)scrapy框架01_scrapy框架的认识、安装_Python涛哥

scrapy框架的认识、安装框架简介:什么是框架?所谓的框架其实就是一个被集成了很多功能且具有很强通用性的一个项目模板。怎么学习?学习的是框架中集成好的各种功能的特性是作用进阶学习?逐步的探索框架的底层。安装scrapy是一个专门用于异步爬虫的框架。特性:高性能的数据解析、请求发送、持久化存储,全站数据爬取,中间件,分布式…环境的安装:mac/linux:pip install scrapywindows:a. pip install wheelb. 下载twisted

2021-10-10 15:23:30 160

原创 Python爬虫从入门到精通:(23)Selenium扩展知识小技巧_Python涛哥

如何让selenium规避检测有的网站会检测请求是否为selenium发起,如果是的话则让该次请求失败规避检测的方法:selenium接管chrome浏览器实现步骤:必须将你电脑中安装的谷歌浏览器的驱动所在的目录找到,且将目录添加到环境变量中打开cmd,在命令行中输入命令:chrome.exe --remote-debugging-port=9222 --user-data-dir="一个空文件夹的目录"指定执行结束后,会打开你本机安装好的谷歌浏览器执行如下代码:可以使用下属代码

2021-10-06 19:53:22 128

原创 Python爬虫从入门到精通:(22)selenium 动作链ActionChains_Python涛哥

动作链 :一系列连续的动作(滑动)我们来看下这个网页是可以拖动的那么我们如何通过selenium来实现呢?1.导入动作链包from selenium.webdriver import ActionChains 2.标签定位url = 'https://www.runoob.com/try/try.php?filename=jqueryui-api-droppable'bro = webdriver.Chrome(executable_path='./chromedriver')bro.g

2021-10-06 19:48:45 452

原创 Python爬虫从入门到精通:(21)selenium捕获动态加载的数据_Python涛哥

药监总局为例:将前三页所有企业名称爬取打开网站并获取当前页网站源码from selenium import webdriverfrom time import sleepfrom lxml import etreeurl = 'http://scxk.nmpa.gov.cn:81/xk/'bro = webdriver.Chrome(executable_path='./chromedriver')bro.get(url)sleep(1)# 获取当前页源码page_text =

2021-10-06 19:45:28 410

原创 Python爬虫从入门到精通:(20)selenium的介绍和简单用法_Python涛哥

selenium的介绍和简单用法概念:基于浏览器自动化的模块自动化:可以通过代码制定一些列的行为动作,然后将其作用到浏览器中安装selenium模块:pip install selenium安装谷歌浏览器驱动(找到合适自己电脑的):http://chromedriver.storage.googleapis.com/index.htmlselenium和爬虫之间的关联1.便捷的捕获到任意形式动态加载的数据(可见即可得)2.实现模拟登陆简单爬取一个网页:fr

2021-10-04 00:42:40 249

原创 Python爬虫从入门到精通:(19)多任务的异步爬虫实践,aiohttp的使用教程_Python涛哥

aiohttp,多任务的异步爬虫实践这节课介绍下多任务的异步爬虫实践。我们先运行下之前所写的Flask。课程地址:然后我们写一个多任务爬虫代码:import requestsimport asyncioimport timefrom lxml import etreeurls = [ 'http://127.0.0.1:5000/bobo', 'http://127.0.0.1:5000/jay', 'http://127.0.0.1:5000/tom']as

2021-10-03 23:49:45 468

原创 Python爬虫从入门到精通:(18)多任务_Python涛哥

多任务上节课我们用协程写了一段代码,一个任务对象的实现。网址:那么多任务该怎么实现呢?我们先来看下下面这段代码:import timeimport asyncioasync def get_request(url): print('正在请求的url:', url) time.sleep(2) print('请求结束:', url) return 'bono'urls = [ 'www.1.com', 'www.2.com', '

2021-10-01 23:21:29 196

原创 Python爬虫从入门到精通:(17)协程_Python涛哥

协程(本节的概念需要重点理解和实际操作)我们需要安装asynico库:pip install asyncio学习之前我们先来看下这段代码:import timedef get_request(url): print('正在请求的url:', url) time.sleep(2) print('请求结束:', url) return 'bono'if __name__ == '__main__': get_request('www.1.com')

2021-09-30 22:39:52 209

原创 Python爬虫从入门到精通:(16)线程池_Python涛哥

线程池我们暂时用自己的服务器进行爬取(Flask的基本使用)Flask的基本使用:环境安装:pip install flask创建一个py源文件详细代码看 FlaskServer.py#!/usr/bin/env python3# -*- coding: utf-8 -*-from flask import Flask, render_templatefrom time import sleep# 实例化一个appapp = Flask(__name__)# 创

2021-09-29 19:17:13 302

原创 Python爬虫从入门到精通:(15)模拟登陆_Python涛哥

模拟登陆模拟登陆流程:对点击登陆按钮对应的请求进行发送(post请求)处理请求参数:用户名密码验证码其他的防伪参数1. 模拟古诗文网登陆url = https://so.gushiwen.cn/user/login.aspx?from=http://so.gushiwen.cn/user/collect.aspx不急,我们先来登陆一下获取网页的请求的参数(自行注册先哦):[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9Ns9Ykt8-163

2021-09-28 23:50:11 871 1

原创 Python爬虫从入门到精通:(14)验证码识别_Python涛哥

验证码识别验证码识别:基于线上的打码平台识别验证码常见的打码平台:超级鹰云打码打码兔这里,我们以超级鹰来举例:http://www.chaojiying.com/(其他平台也类似操作)我们在价格体系中,可以看到验证码类型编号,描述和价格等其中 验证码类型是我们后面代码要调用的我们现在开始操作注册用户登陆用户登陆后,我们先查看余额,进行充值由于我比较穷,暂时只冲1块钱。。泪奔创建一个软件ID充值好后,我们先创建一个软件ID (其中软件key不用修改)

2021-09-28 23:47:25 269

原创 Python爬虫从入门到精通:(12)cookie_Python涛哥

什么是cookie?是存储在客户端的一组键值对web中cookie的典型应用:免密登陆cookie和爬虫之间的关联:sometime,对一张页面进行请求的时候,如何请求的过程中不携带cookie的话,那么我们是无法请求到正确的页面数据。因此cookie是爬虫中一个非常典型且常见的反爬机制还是照旧,我们以实际例子看下:需求:爬取雪球网中的咨询信息。https://xueqiu.com正常思路分析:判定爬取的咨询数据是否为动态加载数据此网页下滑可以更新数据,不用分析都是知道肯定是这个

2021-09-28 19:41:09 363

原创 Python爬虫从入门到精通:(11)数据解析_站长素材图片的爬取(爬取俄罗斯高清图片名称和地址)* _Python涛哥

站长素材图片的爬取(爬取俄罗斯高清图片名称和地址)地址:https://sc.chinaz.com/tupian/eluosi.html我们先来分析下页面,获取图片名称和地址定位:我们很容易获取到了图片名称和地址是在<div id="container">/<div>/<div>/<a>/<img>标签下,我们用xpath来解析下:headers = { 'User-Agent': 'Mozilla/5.0 (Windows N

2021-09-27 19:39:10 557 1

原创 Python爬虫从入门到精通:(10)数据解析_什么时候最好使用bs4?xpath如何更加具有通用性?_Python涛哥

什么时候最好使用bs4如果需求是要求解析出携带html标签的局部数据,例如<li> <p> <div>这样带有标签符号的html文本,那就使用bs4解析。使用bs4, bs4在实现标签定位的时候返回的直接就是定位到标签对应的字符串数据xpath如何更加具有通用性?xpath表达式中使用管道符分割的作用,可以表示管道符左右两侧的子xpath表达式同时生效或者一个生效例子:将https://www.aqistudy.cn/historydata/ 所有的 城

2021-09-26 20:05:59 230

原创 Python爬虫从入门到精通:(9)数据解析_xpath解析2_爬取4K高清动漫图片_Python涛哥

使用xpath爬取4K高清动漫图片名称和图片数据爬取当前页:# 创建文件夹 存储图片dirName = 'GirlsLib'if not os.path.exists(dirName): os.mkdir(dirName)headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.82 Sa

2021-09-26 19:56:09 355

原创 Python爬虫从入门到精通:(8)数据解析_xpath解析基础_Python涛哥

xpath解析基础环境安装:pip install lxml解析原理:html标签是以树状的形式进行展示.实例化一个etree对象,且将待解析的页面源码数据加载到该对象中调用etree对象的xpath方法结合着不同的xpath表达式实现标签的定位和数据提取我们来看下这段test.html代码:<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <

2021-09-25 13:01:49 194

原创 Python爬虫从入门到精通:(7)数据解析3_使用bs4爬取《红楼梦》小说_Python涛哥

爬取红楼梦全篇内容:数据解析步骤:章节标题,详情页url,章节内容通过浏览器开发者工具中,我们得知。小说章节的标题,和每一张的链接,都在<li>标签中。现在我们用bs4把这2个数据提取出来。import requestsfrom bs4 import BeautifulSoupmain_url = 'https://www.shicimingju.com/book/hongloumeng.html'reponse = requests.get(url=main_url)

2021-09-24 12:45:15 1951 1

原创 Python爬虫从入门到精通:(6)数据解析2_使用bs4(BeautifulSoup)_Python涛哥

使用bs4(BeautifulSoup)数据解析的作用?用来实现聚焦爬虫网页中显示的数据都是存储在那里的?都是存储在html的标签中或者是标签的属性中数据解析的通用原理是什么?指定标签的定位取出标签中存储的数据或者标签属性中的数据bs4解析原理实例化一个BeautifulSoup对象,且待解析的页面源码数据加载到该对象中调用BeautifulSoup对象中相关方法或者属性进行标签定位和文本数据的提取环境的安装pip install lxml #解析

2021-09-23 12:10:33 244

原创 Python爬虫从入门到精通:(5)数据解析_使用正则进行图片数据的批量解析爬取_Python涛哥

我们先来看下如何爬取图片数据?方式1:基于requests方式2:基于urlliburllib模块作用和requests模块一样,都是基于网络请求的模块当requests问世后就迅速的替代了urllib模块比如,我们现在准备爬取这张可爱的熊熊。先右键复制图片地址:img_url = 'https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fpic21.nipic.com%2F20120606%2F5137861_09311937

2021-09-22 12:56:11 579 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除