第一次写了个Python爬虫

emm,学Python的时候看见别人写爬虫去爬表情包了,就自己也想写一个来玩。找的十个比较简单的网站。


起名字就有点皮,真的就只是皮一下

首先肯定用到的是requests包了 import requests

中间用了正则匹配,正则的包也要一下 import re


看了一下,斗图啦的图有1700多页,构造一下url列表:


第一次写了个Python爬虫_第1张图片

有了url,就用requests里面的get去获取页面

第一次写了个Python爬虫_第2张图片
获取到了页面之后用正则匹配一下我要的图的相关信息

自己试了一下发现直接爬被forbidden了,模拟一下浏览器,加一个User-Agent,为了装得像一点,加了一些别的字段,本来还加了别的,文件类型加上gzip之后要弄解压有点烦就不弄了,别的加多了反而更容易被封,就后来删掉了


第一次写了个Python爬虫_第3张图片

然后可以获取到页面了,东西都存在imgList里面了,处理一下,把图的信息存到txt里面


第一次写了个Python爬虫_第4张图片
顺便写一个东西看一下爬的进度,中间有东西出问题也会把问题存起来,问题不大

最后把范围定一下,运行


第一次写了个Python爬虫_第5张图片
稳得一批


中间也遇到过一些问题,爬着爬着被禁了,爬的速度太快有被封,自己也查了一些办法,像做ip代理什么的,自己也用了随机生成User-Agent来骗它


第一次写了个Python爬虫_第6张图片
这东西试了一下,用的西刺的代理,然后发现很不稳定。。就放弃了

最后试了半天,用sleep弄可以了。。很奇妙的是下午还不行的,晚上就行了,但是结果是有点慢,效率歇逼

还有一些更傻的东西。。


第一次写了个Python爬虫_第7张图片
这东西本来是测试用的,忘记改过来了,把这一页爬了1000多次,怕不是个傻子。。emm引以为鉴

然后说起效率,本来想弄个多线程的,但是ip代理弄不好,还是会被封,很奇妙,读写加锁的问题也没想好,晚点看能不能把多线程的版本弄出来

你可能感兴趣的:(第一次写了个Python爬虫)