【Python爬虫】
埃菲尔没有塔尖
热爱学习,热爱分享,欢迎交流。
展开
-
python rsa加解密
今天要说的加密方式RSA,随笔简单记录下。RSA加密是一种非对称加密,通常使用公钥加密,私钥解密私钥签名,公钥验签。而通常 公钥比较短,私钥比较长。在公开密钥密码体制中,加密密钥(即公开密钥)PK是公开信息,而解密密钥(即秘密密钥)SK是需要保密的。RSA算法通常是先生成一对RSA密钥,其中之一是保密密钥,由用户保存;另一个为公开密钥,可对外公开。原创 2024-03-31 15:55:00 · 1158 阅读 · 0 评论 -
python之py_mini_racer 执行JS神器
这个库,好处就是能执行很多类型的js代码,但是缺点也是相当的明显就是慢呗!,它会把代码缓存到内存中,之后每次执行的速度相当的快,只是花费。,很慢,在高并发场景的下 这个问题非常致命。我们找一个JS代码对比较下,就能看出来了。所以以后再用担心JS代码执行速度慢了!今天有位大佬给我说试一试。通常我们执行JS代码,都是使用。第一次的时候会初始化,花费。原创 2024-03-07 23:49:04 · 1040 阅读 · 0 评论 -
selenium也能过某数、5s盾..
这个库的优点就是能获取打开这个页面后,发出请求返回的结果,灰常好用。,但是访问相同的网站却需要验证。奇怪的是这个库明明也使用了。原创 2024-03-07 23:17:39 · 682 阅读 · 0 评论 -
Selenium 隐藏浏览器指纹特征的几种方式
我们使用 Selenium 对网页进行爬虫时,如果不做任何处理直接进行爬取,会导致很多特征是暴露的对一些做了反爬的网站,做了特征检测,用来阻止一些恶意爬虫。本篇文章将介绍几种常用的隐藏浏览器指纹特征的方式。原创 2024-03-07 23:12:45 · 1224 阅读 · 0 评论 -
常见的爬虫逆向面试题
文章转载于:https://mp.weixin.qq.com/s/dXRo0D_Xx7E_h85XbnwPVQ 有兴趣去源站浏览学习主要自己看着方便些。原创 2024-03-03 23:32:37 · 1290 阅读 · 0 评论 -
python使用HMAC算法
Hmac算法:Keyed-Hashing for Message Authentication。它通过一个标准算法,在计算哈希的过程中,把key混入计算过程中。和我们自定义的加salt算法不同,Hmac算法针对所有哈希算法都通用,无论是MD5还是SHA-1。采用Hmac替代我们自己的salt算法,可以使程序算法更标准化,也更安全。Python自带的hmac模块实现了标准的Hmac算法。我们来看看如何使用hmac实现带key的哈希。我们首先需要准备待计算的原始消息message,固定key,哈希算法,这原创 2022-01-12 16:57:36 · 5267 阅读 · 0 评论 -
python 实现AES加密算法
1. AES算法简介AES算法详解:高级加密标准,它是一种对称加密算法,AES只有一个密钥,这个密钥既用来加密,也用于解密。AES加密方式有五种:ECB, CBC, CTR, CFB, OFB。从安全性角度推荐CBC加密方法,本文介绍了CBC,ECB两种加密方法的python实现。CBC 和ECB模式的区别就是:CBC加密需要一个十六位的key(密钥)和一个十六位iv(偏移量)ECB加密不需要iv,只需要key(密钥)2.模块安装在 Windows下使用AES时要安装的是pycrypto原创 2022-03-21 18:46:05 · 10241 阅读 · 0 评论 -
adb 查看当前包名和Activity
1.先启动服务2.如果你是mac系统输入下面命令:adb shell dumpsys window | grep mCurrentFocus 如果你是window输入下面命令:adb shell dumpsys window | findstr mCurrentFocus然后就可以拿到当前的包名和Activity。如下图(我这里是mac):...原创 2022-01-13 15:07:58 · 5572 阅读 · 0 评论 -
大众点评app之数据解密和反序列化
在使用charles 抓大众点评app数据包的时候会发现,请求接口是没有加密的。但是抓到的数据 全都是乱码,这其实是点评使用了加密算法,所以就需要对应的解密算法。数据解析操作需要先解压缩,然后再解密,对应的算法已经还原成python。可以看到,拿到数据的数据就是正常的json格式了。核心代码 就不公布了毕竟对人家不太友善,有兴趣的朋友可以一起交流学习(扣扣: 519545433)..............................原创 2022-01-11 13:45:42 · 5121 阅读 · 1 评论 -
scrapy使用cookie的三种方式
文章转载于 安卓逆向菜鸟修炼记(微信公众号),个人感觉很实用,记录下来方便回顾,想看原文的请移步公众号。1.如果是在headers中使用(这里的cookie是字符串的形式)def start_requests(self): headers = { "user-agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280原创 2021-11-26 23:03:38 · 3327 阅读 · 3 评论 -
爬虫:Charles证书设置为系统信任证书(root)
简介将Charles证书设置为系统信任证书,前提条件是需要root手机。1、使用MD5计算证书hash值openssl x509 -subject_hash_old -in D:\Adownloads\charles-proxy-ssl-proxying-certificate.pem# 得到密钥3182384b2、修改名字cp charles-proxy-ssl-proxying-certificate.pem 3182384b.03、传进手机adb push 3182384b..原创 2021-07-10 21:02:46 · 1688 阅读 · 0 评论 -
requests库提示警告:InsecureRequestWarning: Unverified HTTPS request is being made. Adding certificate ver
相信你们肯定遇到过这样的问题:requests库提示警告:InsecureRequestWarning: Unverified HTTPS request is being made. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warningsInsecureRequestWarning)1、Pyth原创 2020-10-13 23:08:08 · 5410 阅读 · 3 评论 -
Charles+Android模拟器里抓http请求(配置模拟器教程)
在安卓夜神模拟器里的相关操作(注意:在安卓手机真机时也是相同的操作哦)1.前提条件:自己电脑和模拟器里使用的是同一个WiFi2.模拟器要做以下步骤**2.1打开手机的【设置】2.2 点击【WLAN】2.3点击【修改网络】2.4设置代理2.4.1查自己电脑的ipwin+R键–>输入cmd—>黑窗口输入ipconfig2.4.2模拟器去继续(2)中的操作–>填写ip–>填写端口–>保存设置保存上面的操作哦2.5在Charles里的相关操作2.原创 2020-10-13 23:02:30 · 2581 阅读 · 0 评论 -
Charles+安卓模拟器 抓取https请求
1.抓取https请求如果模拟器不安装证书的话,我们可以抓取移动端的http请求了,但是https请求,会出现Unknown,下面是解决办法。这里使用的是夜神模拟器(建议使用Android 5),目前我所使用过的, 所有模拟器几乎安装流程都是一样的。夜神模拟器有一个最大的方便就是 支持分身, 应用多开, 并且更换手机设备型号特别的方便。2.证书的安装2.1 Charles里证书的安装(详细步骤如下:)点击 Help -----> SSL Prxoying -----> Install原创 2020-10-13 22:53:48 · 3464 阅读 · 1 评论 -
Python 中的url,Base64和MD5编码解码的使用
1.encode()和decode()我们所说的加密方式,都是对二进制编码的格式进行加密的,对应到Python中,则是我们的Bytes(字节)。所以当我们在Python中进行加密操作的时候,要确保我们操作的是Bytes,否则就会报错。将字符串和Bytes互相转换可以使用encode()和decode()方法。如下所示:# 方法中不传参数则是以默认的utf-8编码进行转换str_encode = "解除隔离吧!上帝".encode("utf-8")print(str_encode)str_d原创 2020-07-14 11:59:57 · 1915 阅读 · 0 评论 -
python获取cookies
在用python 写爬虫的时候,经常需要获取cookies,然后才能开始其他的一起爬取操作。这里整理下,网上一些的资料。在这里我们以豆瓣网 https://accounts.douban.com/passport/login为例。方法1:python3+requests库获取:import requestsfrom requests.cookies import RequestsCookieJarheaders = { 'Host': 'accounts.douban.com',原创 2020-07-22 16:30:59 · 9303 阅读 · 0 评论 -
python 下载拉钩教育AES加密视频
说在前面:下面我们要爬取的是拉钩教育课程上面的视频,课程已经购买过了。但是由于没有提供缓冲和下载视频的功能,所以就打算把视频通过python给下载下来,以下的文章都是参考博友的,自己总结下并学习学习。正式爬取:1.拉钩教育的网址:https://kaiwu.lagou.com/,输入自己的账号和密码 ,然后登陆进去,找到自己已经购买的课程(这里我就举这个例子)。2.通过F12 抓包的方式,进入到控制台的network,最后找到的这个视频的请求地址,同时也找到视频的名字和地址(注意:cookies原创 2020-07-07 15:09:13 · 3083 阅读 · 6 评论 -
Python 的AES加密与解密
AES加密方式有五种:ECB, CBC, CTR, CFB, OFB从安全性角度推荐CBC加密方法,本文介绍了CBC,ECB两种加密方法的python实现。python 在 Windows下使用AES时要安装的是pycryptodome 模块 。pip install pycryptodome python 在 Linux下使用AES时要安装的是pycrypto模块。pip install pycrypto 区别:CBC加密需要一个十六位的key(密钥)和一个十六位iv(偏移量)ECB原创 2020-07-05 18:51:44 · 1455 阅读 · 0 评论 -
python 爬取今日头条热点新闻
嗯,今天就让我们来一起爬爬今日头条的热点新闻吧!今日头条地址:https://www.toutiao.com/ch/news_hot/进去以后,如下图:全部代码如下:import requestsimport jsonimport timeimport hashlib# 获取as和cp参数的函数import xlwtdef get_as_cp_args(): z...原创 2019-12-26 17:55:45 · 5339 阅读 · 6 评论 -
scrapy发送翻页请求
1.翻页请求的思路对于要提取如下图中所有页面上的数据该怎么办?回顾requests模块是如何实现翻页请求的:找到下一页的URL地址调用requests.get(url)scrapy实现翻页的思路:找到下一页的url地址构造url地址的请求,传递给引擎2.scrapy实现翻页请求2.1 实现方法确定url地址构造请求,scrapy.Request(url,callb...原创 2019-12-22 16:53:57 · 3140 阅读 · 1 评论 -
python之json格式数据的提取
1.json的概念:JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,它使得人们很容易的进行阅读和编写。同时也方便了机器进行解析和生成。适用于进行数据交互的场景,比如网站前台与后台之间的数据交互。2.json中常用的模块:json.dumps 实现python类型转化为json字符串json.loads 实现json字符串转化为python的数...原创 2019-12-21 21:57:19 · 7945 阅读 · 3 评论 -
scrapy框架的入门使用
1.scrapy项目实现流程创建一个scrapy项目: scrapy startproject mySpider生成一个爬虫:scrapy genspider itcast "itcast.cn提取数据:完善spider,使用xpath等方法保存数据:pipeline中保存数据2.创建scrapy项目爬取的地址:http://www.itcast.cn/channel/teache...原创 2019-12-21 20:29:54 · 188 阅读 · 0 评论 -
scrapy框架的概念和流程
1.scrapy框架的概念:文档地址:http://scrapy-chs.readthedocs.io/zh_CN/1.0/intro/overview.htmlScrapy 使用了Twisted['twɪstɪd]异步网络框架,可以加快我们的下载速度。Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架,我们只需要实现少量的代码,就能够快速的抓取。2.异步和非阻塞的区别...原创 2019-12-21 20:06:21 · 195 阅读 · 0 评论 -
常见的反爬手段和解决思路
1.明确反反爬的主要思路反反爬的主要思路就是:尽可能的去模拟浏览器,浏览器在如何操作,代码中就如何去实现。例如:浏览器先请求了地址url1,保留了cookie在本地,之后请求地址url2,带上了之前的cookie,代码中也可以这样去实现。2.通过headers字段来反爬headers中有很多字段,这些字段都有可能会被对方服务器拿过来进行判断是否为爬虫2.1 通过headers中的User...原创 2019-12-21 19:40:58 · 5018 阅读 · 0 评论 -
selenium的使用教程3
案例1:斗鱼爬虫爬取斗鱼直播平台的所有房间信息:https://www.douyu.com/directory/all思路分析:1.1数据的位置:每个房间的数据都在id=live-list-contentbox的ul中。1.2实现翻页和控制程序结束selenium中通过点击就可以实现翻页,观察存在下一页和不存在下一页时候标签的变化存在下一页时:不存在下一页时:完整代码如...原创 2019-12-21 19:30:06 · 160 阅读 · 0 评论 -
selenium的使用教程2
1. selenium 处理cookiedriver.get_cookies()获取的是完整的cookie信息!不光有name、value,还有domain等其他信息!# 把cookie转化为字典cookies_dict = {cookie[‘name’]: cookie[‘value’] for cookie in driver.get_cookies()}#删除一条cookiedr...原创 2019-12-21 19:16:54 · 148 阅读 · 0 评论 -
selenium的使用教程1
Selenium 库里有个叫 WebDriver 的 API,WebDriver 可以加载网站的浏览器,但是也可以像 BeautifulSoup 或者其他 Selector 对象一样用来查找页面元素,与页面上的元素进行交互 (发送文本、点击等),以及执行其他动作来运行网络爬虫。1.加载网页selenium通过控制浏览器,所以对应的获取的数据都是elements中的内容。from seleni...原创 2019-12-21 19:03:13 · 232 阅读 · 0 评论 -
selenium的简单介绍
1.Selenium介绍:Selenium是一个Web的自动化测试工具,最初是为网站自动化测试而开发的,类型像我们玩游戏用的按键精灵,可以按指定的命令自动操作,不同是Selenium 可以直接运行在浏览器上,它支持所有主流的浏览器(包括PhantomJS这些无界面的浏览器)。Selenium 可以根据我们的指令,让浏览器自动加载页面,获取需要的数据,甚至页面截屏,或者判断网站上某些动作是否发生...原创 2019-12-21 17:54:27 · 683 阅读 · 0 评论 -
python中lxml模块的使用
lxml是python的一个解析库,支持HTML和XML的解析,支持XPath解析方式,而且解析效率非常高1.lxml的安装pip install lxml2.导入lxml 的 etree 库 from lxml import etree3.利用etree.HTML,将字符串转化为Element对象,Element对象具有xpath的方法,返回结果的列表,能够接受bytes类型的数据...原创 2019-12-15 20:09:12 · 4480 阅读 · 0 评论 -
Python中json模块的使用,以及json.loads()和json.dumps()的区别
在Python 中,json模块中提供了一种很简单的方式来编码和解码JSON数据。1. json.dumps() 和 json.loads(),这两个都是json()格式处理函数。json.dumps()函数是将一个Python数据类型进行json格式的编码(可以这么理解,json.dumps()函数是将字典转化为字符串)json.loads()函数是将json格式数据转换为字典(可以这么...原创 2019-10-18 19:04:42 · 383 阅读 · 0 评论 -
Python通过m3u8文件下载合并ts视频
前段时间,接到一个需求,要求下载某一个网站的视频,然后自己从网上查阅了相关的资料,在这里做一个总结。1. m3u8文件m3u8是苹果公司推出一种视频播放标准,是一种文件检索格式,将视频切割成一小段一小段的ts格式的视频文件,然后存在服务器中(现在为了减少I/o访问次数,一般存在服务器的内存中),通过m3u8解析出来路径,然后去请求,是现在比较流行的一种加载方式。目前,很多新闻视频网站都是采用这...原创 2019-12-07 13:33:01 · 12211 阅读 · 13 评论 -
python爬取糗事百科
本次要爬取的是糗事百科,地址如下:http://www.qiushibaike.com/8hr/page/11.思路分析:url地址的规律非常明显,一共只有13页url地址2.确定数据的位置数据都在id='content-left’的div下的div中,在这个区域,url地址对应的响应和elements相同3.糗事百科代码实现import requestsfrom lxml im...原创 2019-12-15 16:11:04 · 425 阅读 · 0 评论 -
python中的Xpath方法总结
说在前面:由于目前一直在做爬虫,之前常使用requests模块,现在改用scrapy框架。在解析页面元素的时候,本人常常喜欢使用xpath,所以为了以后忘记语法,做一个总结,便于查看。1.xpath介绍XPath,全称 XML Path Language,即 XML 路径语言,它是一门在 XML 文档中查找信息的语言。XPath 可用来在 XML 文档中对元素和属性进行遍历。XPath ...原创 2019-11-25 10:58:47 · 9883 阅读 · 1 评论 -
Python selenium对js元素进行增删改查操作
1.首先,我们列出Selenium 对JS元素操作的4中方法:增加属性 driver.execute_script(“arguments[0].%s=arguments[1]” %attributeName,elementObj, value)修改属性driver.execute_script(“arguments[0].setAttribute(arguments[1],arg...原创 2019-09-29 15:02:37 · 3172 阅读 · 0 评论 -
python selenium 鼠标移动到指定元素,并点击对应的元素
在使用selenium 爬去网页信息的时候,我们经常会遇到这样的一个问题。就是某一关键字或者元素,必须是鼠标悬浮上,才会出现,然后才能点击。那下面,我们就用python实现这一功能。举例来说:假设我们我想要点击,“导出音频数据” 按钮。首先需要让,鼠标移动到"项目进度"按钮上面,然后等待’导出音频数据’按钮出现后,才能点击。代码:import timefrom selenium.web...原创 2019-09-29 09:55:55 · 30161 阅读 · 8 评论 -
python中的requests模块的使用大全
1.requests模块:企业中用的最多的就是requestsrequests的底层实现就是urllibrequests在python2 和python3中通用,方法完全一样requests简单易用requests能够自动帮助我们解压(gzip压缩的等)响应内容2.response的常用属性:response.text 响应体 str类型respones.content 响应...原创 2019-09-07 17:55:15 · 652 阅读 · 0 评论 -
Python爬取猫眼电影Top100
import requestsimport reimport timeimport jsonfrom requests import RequestExceptiondef get_one_page(url): try: headers={'User - Agent': 'Mozilla / 5.0(WindowsNT10.0;WOW64) AppleWebKi...原创 2019-05-23 17:21:10 · 1405 阅读 · 0 评论 -
【爬虫】爬取百度贴吧数据
在这里我们写一个简单的小爬虫程序,爬取百度贴吧前几页的数据。import requestsimport sysclass Tieba(object): def __init__(self, name, pn): self.name = name self.headers = { #requests请求的时候一定要带上headers 请求头 ...原创 2018-11-27 20:03:40 · 1254 阅读 · 0 评论