Python爬取图虫网摄影作品
admin
2023-07-30 20:58:32
0

说明

简单地看完了Python的基本语法,决定写一只爬虫练练手。
要抓取的网站是图虫网,这是一个高质量的图片社区,聚集着一群年轻的摄影爱好者。

准备

工具:python 2.7,BeautifulSoup4

注意:BeautifulSoup4为第三方类库,如果在cmd下用pip安装报错,可直接去官网下载,解压后拷贝到python安装目录中的lib目录下,通过cmd进入插件的目录,输入python setup.py install,即可安装。

分析

爬虫的人口页为: https://tuchong.com/explore/

可以看到这页的每张图片都代表一个题材,点进去后就是这个题材下所有的相册,如下图。

打开相册后发现相册里的图片都是用js加载的,面对这种情况可以自己分析js,用Request发送请求获取数据。也可以用一些模拟js行为的库来抓取数据,但这样对cpu和内存的消耗会增大,抓取速度也很慢,如非必要建议不使用。
以下是爬虫的核心代码,先解析出所有题材的url地址,然后爬虫循环爬取每个题材的封面照片,因为只是想写一个最小化的爬虫,所以涉及js的部分我们就不探讨了。

运行

下面让我们的爬虫跑起来,我运行在了服务器上了,大家可以直接通过浏览器访问爬取的结果。

一段时间后运行完毕,打开生成的page文件夹,看到爬虫为我们生成的html页面,可以通过下面这个url访问 (ps: 每个网页大约50M,流量党慎入。)

http://114.215.141.86/zs/spider/page/%E5%B0%91%E5%A5%B3.html

最后

这个网站很简单,不需要登录验证码,连请求头都不用写,爬虫也没有写的太暴力,只是保存了图片的url地址,并没有抓取到本地,别对人家服务器造成压力麻。

幕课网开发简单爬虫: http://www.imooc.com/learn/563
幕课爬虫Github地址:https://github.com/zhongsheng23/spider_baidubaike.git
爬虫学习的系列教程: http://cuiqingcai.com/1052.html
文章爬虫Github地址:https://github.com/zhongsheng23/spider_tuchong.git
反爬虫策略浅析:http://robbinfan.com/blog/11/anti-crawler-strategy

欢迎大家star,issue或者把更好的代码提交给我,如果程序不能运行,可能是网站的结构发生了改变,或者网站升级了反扒爬虫策略,可自行修改,此程序只作学习之用,如果有什么不合适的地方,请告知!

相关内容

热门资讯

Mobi、epub格式电子书如... 在wps里全局设置里有一个文件关联,打开,勾选电子书文件选项就可以了。
500 行 Python 代码... 语法分析器描述了一个句子的语法结构,用来帮助其他的应用进行推理。自然语言引入了很多意外的歧义,以我们...
定时清理删除C:\Progra... C:\Program Files (x86)下面很多scoped_dir开头的文件夹 写个批处理 定...
scoped_dir32_70... 一台虚拟机C盘总是莫名奇妙的空间用完,导致很多软件没法再运行。经过仔细检查发现是C:\Program...
65536是2的几次方 计算2... 65536是2的16次方:65536=2⁶ 65536是256的2次方:65536=256 6553...
小程序支付时提示:appid和... [Q]小程序支付时提示:appid和mch_id不匹配 [A]小程序和微信支付没有进行关联,访问“小...
pycparser 是一个用... `pycparser` 是一个用 Python 编写的 C 语言解析器。它可以用来解析 C 代码并构...
微信小程序使用slider实现... 众所周知哈,微信小程序里面的音频播放是没有进度条的,但最近有个项目呢,客户要求音频要有进度条控制,所...
Apache Doris 2.... 亲爱的社区小伙伴们,我们很高兴地向大家宣布,Apache Doris 2.0.0 版本已于...
python清除字符串里非数字... 本文实例讲述了python清除字符串里非数字字符的方法。分享给大家供大家参考。具体如下: impor...