前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >绕过CSDN 爬虫限制

绕过CSDN 爬虫限制

作者头像
XRSec
发布2022-03-12 15:40:39
6950
发布2022-03-12 15:40:39
举报
文章被收录于专栏:XRSec.Blog

今天准备整理书签,首选 Visual Studio Code 正则过滤 + Sublime Text 多选删除,

删除到一半,我需要知道目标网址的 description img 等信息,

我想干脆 requests 请求 text 然后再正则很快就搞定了,没想到 请求 CSDN 无内容

requests 请求

代码语言:javascript
复制
python3 -c 'import requests
requests.packages.urllib3.disable_warnings()
print(requests.get("https://blog.csdn.net/qq_33451584/article/details/119834318", timeout=5, verify=False).content.decode("utf-8"))'

urllib3请求

代码语言:javascript
复制
python3 -c 'import urllib3
print(urllib3.PoolManager().urlopen("GET", "https://blog.csdn.net/qq_33451584/article/details/119834318").data)'

随机UA绕过

代码语言:javascript
复制
python3 -c 'import requests, fake_useragent
headers = {"user-agent": fake_useragent.UserAgent().random}
requests.packages.urllib3.disable_warnings()
print(requests.get("https://blog.csdn.net/qq_33451584/article/details/119834318", headers=headers, timeout=5, verify=False).content.decode("utf-8"))'

httpx请求

代码语言:javascript
复制
python3 -c 'import httpx
print(httpx.post('https://blog.csdn.net/qq_33451584/article/details/119834318').content)

aiohttp 请求

代码语言:javascript
复制
python3 -c 'import asyncio, aiohttp
async def main(url):
    async with aiohttp.ClientSession() as client:
        resp = await client.post(url)
        result = await resp.read()
        print(result) 
asyncio.run(main("https://blog.csdn.net/qq_33451584/article/details/119834318"))'

反思

我觉得应该是 TLS 在作怪 by 百度 :https://baike.baidu.com/item/TLS%E5%8D%8F%E8%AE%AE/7129331

安全传输层协议(TLS)用于在两个通信应用程序之间提供保密性和数据完整性。该协议由两层组成: TLS 记录协议(TLS Record)和 TLS 握手协议(TLS Handshake)。较低的层为 TLS 记录协议,位于某个可靠的传输协议(例如 TCP)上面。

by wikipedia : https://zh.wikipedia.org/wiki/%E5%82%B3%E8%BC%B8%E5%B1%A4%E5%AE%89%E5%85%A8%E6%80%A7%E5%8D%94%E5%AE%9A

传输层安全性协议(英语:Transport Layer Security,缩写:TLS)及其前身安全套接层(英语:Secure Sockets Layer,缩写:SSL)是一种安全协议,目的是为互联网通信提供安全及数据完整性保障。网景公司(Netscape)在1994年推出首版网页浏览器-网景导航者时,推出HTTPS协议,以SSL进行加密,这是SSL的起源。IETF将SSL进行标准化,1999年公布TLS 1.0标准文件(RFC 2246)。随后又公布TLS 1.1(RFC 4346,2006年)、TLS 1.2(RFC 5246,2008年)和TLS 1.3(RFC 8446,2018年)。在浏览器、电子邮件、即时通信、VoIP、网络传真等应用程序中,广泛使用这个协议。许多网站,如Google、Facebook、Wikipedia等也以这个协议来创建安全连线,发送资料。目前已成为互联网上保密通信的工业标准。

SSL包含记录层(Record Layer)和传输层,记录层协议确定传输层数据的封装格式。传输层安全协议使用X.509认证,之后利用非对称加密演算来对通信方做身份认证,之后交换对称密钥作为会谈密钥(Session key)。这个会谈密钥是用来将通信两方交换的资料做加密,保证两个应用间通信的保密性和可靠性,使客户与服务器应用之间的通信不被攻击者窃听。

反爬虫用的最多的就是 TLS 指纹,同理 CobaltStrike 应该也存在指纹 可以看一下这篇文章 https://mp.weixin.qq.com/s/UId_UEdlRX1sS63Xeav5Uw

XRSec has the right to modify and interpret this article. If you want to reprint or disseminate this article, you must ensure the integrity of this article, including all contents such as copyright notice. Without the permission of the author, the content of this article shall not be modified or increased or decreased arbitrarily, and it shall not be used for commercial purposes in any way

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-09-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • requests 请求
  • urllib3请求
  • 随机UA绕过
  • httpx请求
  • aiohttp 请求
  • 反思
相关产品与服务
SSL 证书
腾讯云 SSL 证书(SSL Certificates)为您提供 SSL 证书的申请、管理、部署等服务,为您提供一站式 HTTPS 解决方案。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档