使用Python以及C++简单绕过反爬虫机制

0x00 某些网站有反爬虫的机制

对于刚学习了几天python的我,对爬虫颇有兴趣,但是某些“想要的”网站上具有反爬虫机制,如果说使用延迟或者代理,这样的效率并不高,于是想了一种奇异的办法来高效率的绕过爬虫机制。(大佬口下留情)

0x01 写个爬虫(简单的介绍一下,各位都是爬虫大佬)

我找了一个比较典型的网站来进行爬虫,(已经打码)

第一页

第二页

只是more_XX.html中XX的改变。

用python写一个生成不同页面的函数,如下图所示:

分析一下网页的源码

我们还需要获取一层链接,如果生来的话就是简单的缩略图。

写了一个这样的正则

具体找到这层链接的代码如下:

这层链接里面就是需要的高清大图,如下图:

再写一个正则:

函数如下:

接下来原本以为用urllib.request.urlretrieve就可以直接下载了,但是没想到。

原来是做防爬机制。

0x02解决问题

我想到的是哪里的东西写错了么?

我们输出一下正则匹配过后的东西。

修改如下:

没问题啊!!怎么办呢?

想到了一个感觉可以实行的办法。

把连接保存到TXT里面,用迅雷批量?

修改一下代码

重要的问题就是这样的行为太傻了。

导出来的是URL,是否能够通过URL直接下载?

(导出了4个页面的)

我想到了C++的一个URL下载的函数。

URLdownloadtofile

以下是我写的一个下载函数

两个参数分别是url地址,第二个是保存路径格式。

这样的想法是能够快速的爬出来我们想要的东西,因为如果说使用代理的话,或者是延迟爬虫,这样影响效率,(只是个人的感觉)。

0x03 效果

感觉速度很快!

1128个图片,用了3分钟,还没做优化,就是单一的下载。

我们来看看是否下载成功。

只能说是可能还有更好的解决方案,作为一个刚入门的新手爬虫,只能想到这样的解决方法。

大佬们有什么建议可以提供给我,或者更好的解决方案,可以私下沟通一下。

原文发布于微信公众号 - FreeBuf(freebuf)

原文发表时间:2017-11-23

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏智慧教育

以语音评测的PC端demo代码为例,讲解口语评测如何实现

腾讯云智聆口语评测(英文版)(Smart Oral Evaluation-English,SOE-E)是腾讯云推出的语音评测产品,是基于英语口语类教育培训场景和...

9113
来自专栏进击的程序猿

Dynamo:Amazon的高可用性的键-值存储系统

Dynamo是一个分布式键值系统,最初用于支持购物车系统,强调的是提供一个“永远在线“的用户体验。

1152
来自专栏iOSDevLog

Google Colab免费GPU教程

现在,你可以开发深度学习与应用谷歌Colaboratory -on的免费特斯拉K80 GPU -使用Keras,Tensorflow和PyTorch。

5035
来自专栏吴伟祥

MySQL基准测试 转

基准测试是  指通过设计科学的测试方法、测试工具和测试系统,实现对一类测试对象的某项性能指标进行定量的和可对比的测试。例如,对计算机CPU进行浮点运算、数据访问...

1493
来自专栏玄魂工作室

CTF实战19 渗透测试-主机信息探测

其原理是不同厂家的IP协议栈实现之间存在许多细微的差别,通过这些差别就能对目标系统的操作系统加以猜测

1311
来自专栏PPV课数据科学社区

数据挖掘系列(5)使用mahout做海量数据关联规则挖掘

上一篇介绍了用开源数据挖掘软件weka做关联规则挖掘,weka方便实用,但不能处理大数据集,因为内存放不下,给它再多的时间也是无用,因此需要进行分布式计算,ma...

3084
来自专栏前端吧啦吧啦

项目版本与分支管理之阿里AoneFlow模式分析

2113
来自专栏java一日一条

干货!如何正确使用Git Flow

我们已经从SVN 切换到Git很多年了,现在几乎所有的项目都在使用Github管理, 本篇文章讲一下为什么使用Git, 以及如何在团队中正确使用。

1544
来自专栏玉树芝兰

如何用 Python 脚本批量下载 Google 图像?

(由于微信公众号外部链接的限制,文中的部分链接可能无法正确打开。如有需要,请点击文末的“阅读原文”按钮,访问可以正常显示外链的版本。)

1662
来自专栏编程微刊

如何在电脑上保存微信公众号文章封面图片?

2.8K5

扫码关注云+社区

领取腾讯云代金券