鱼C论坛

 找回密码
 立即注册
查看: 1308|回复: 1

[作品展示] 爬取CMD5加密解密网站(适合初入爬虫新生练习反爬)

[复制链接]
发表于 2020-4-28 23:00:16 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
在做爬虫的时候 肯定会遇到加密的参数要传递 然后需要导入某些库 我觉得网站的有些网站有着现成的 爬下来封装好 自己用

这个CMD5应该是国内比较好用的加密解密的网站  (鱼C的登录 当时我就是用这个网站模拟出来的)

这个网站非常适合一些刚学习爬虫的和想学反爬虫的 因为这个网站有着加密参数传递 headers反爬 (都是easy的问题)

CMD5网站的加密参数全部都在网页源代码中 典型的静态网页诟病  

思路:首先创建一个seesion 然后先请求一次爬取那些加密参数 拿到以后汇总起来 放在data参数中 然后加入referer 到headers中(这个不加 请求返回回来就是没有解密结果的)

随口说一句 CMD5的是有API的但是收费的  


因为最近在做自己的flask项目 正好可以把这个打包成API  

还有就是这段时间 一直在写自己的flask项目 有点久没有做爬虫 代码可读性 有点差  看不懂就打一下断点
import requests
from pyquery import PyQuery as pq


url='https://www.cmd5.com/'
request=requests.session()
html_code=request.post(url).text
doc=pq(html_code)
viewstart=doc('#__VIEWSTATE').attr.value
VIEWSTATEGENERATOR=doc('#__VIEWSTATEGENERATOR').attr.value
ContentPlaceHolder1_HiddenField2=doc('#ctl00_ContentPlaceHolder1_HiddenField2').attr.value


a=input('输入MD5参数:')
data={
    '__EVENTTARGET':'Button1',
    '__EVENTARGUMENT':'',
    '__VIEWSTATE':viewstart,
    '__VIEWSTATEGENERATOR':VIEWSTATEGENERATOR,
    #输入加密参数 
    'ctl00$ContentPlaceHolder1$TextBoxInput':a,
    #类型   这个类型可以改成别的 如加密参数书 base64 就改成base64
    'ctl00$ContentPlaceHolder1$InputHashType':'md5',
    'ctl00$ContentPlaceHolder1$Button1':'查询',
    'ctl00$ContentPlaceHolder1$HiddenFieldAliCode':'',
    'ctl00$ContentPlaceHolder1$HiddenField1':'',
    'ctl00$ContentPlaceHolder1$HiddenField2':ContentPlaceHolder1_HiddenField2
}

headers={
    'referer':'https://www.cmd5.com/'
}

request_cmd5=request.post(url,data=data,headers=headers).text
two_doc=pq(request_cmd5)
Decrypt=two_doc('#LabelAnswer').text()

print(Decrypt)



1.png
2.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-4-29 14:50:45 | 显示全部楼层
沙发
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-27 01:28

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表