初学爬虫之试---爬取51笑话网站(源代码)

news/2024/10/17 16:24:25/

爬取点笑话图片没事的时候躲在被子里看看吧

做实验的等待的时候,有点无聊,就想起来原来自己闲着没事,自己写了个爬虫,爬取了一些搞笑图片,没事看看娱乐下。
相信大家平时都有无聊的时候,那么问题来了,无聊的时候该干些什么呢,看点搞笑图片吧,让我们开心的笑起来,面对疾风吧!(ha sa ki,tuo li a 尅 tuo 我去,又尼玛发神经了,大家请原谅我,我可能会不定期的抽风下 ),言归正传,其实简单的爬虫还是很简单的,但是爬取些简单的数据的时候,我觉得还是挺有用的,例如说,你需要租房,此时,你需要上网去找房,但是你怕被坑啊!怎么办,那就是在网上收集别人的评论和建议,这时候,爬虫可以很有效的爬取到大量海量的数据供你参考。我最近还学会了用爬虫爬去点视频,可以观看点VIP看的电影,但是太麻烦了,这里告诉大家一个神器-VIP解析,只需要复制要看内容的链接放上去,即可观看,很是方便。又跑题了,这里我就分享下我用爬虫爬取的搞笑图片吧。
程序运行时:
在这里插入图片描述
这里稍微介绍下这里用到了三个库:request、re、os,那么这三个库分别在我这个程序里干了啥呢?
想想貌似也没干撒子啊!啊啊啊 啊啊 啊。其实很简单:request库在我看来是请求数据的,re是正则匹配库,那么就有人问了,(等等,谁tm的问了,你特么的自己问的吧?好吧,就是我问的),正则匹配可以自行百度,我觉得我一时半会儿也说不清,因为我也不清楚啊 ,哈哈哈。os库那是系统库。
爬取网站之前,需要对网页源代码进行分析一波,要不然怎么爬取我们需要的呢,你说是吧。
在这里插入图片描述
此时的我们需要什么呢,我们需要该图片的url,只要能自动定位到该网址,并且将该网址提取出来,就可以得到该图片了。这时候就要用到正则匹配了,我们可以通过找到正则匹配从一堆代码中快速提取出有用的信息了。
通过寻找规律,并运用正则匹配提取出有用的信息,正则匹配代码如下

import re
re.compile('<h1>(.*?)</h1>.*?<div id="nrbody".*?<img src="(.*?)".*?</p></div>',re.S)

(.*?)中提取的就是我们需要的网址和图片的名称。
以上代码就可以提取出该图片的URL,我们就可以很轻易的通过python的request库获取到该图片资源并保存了。
提取出来的信息,如下图所示:
在这里插入图片描述
看到了,这就是正则匹配从该html代码中提取出来的图片信息,名字用来命名保存图片,提取的网址可以用于获取图片数据。
好啦,上述只是分析了一个网页的图片,那么如何让python连续的爬取图片呢,你仔细观察网站,可以看到,这些不同网页之间是有关联的,http://www.51xiaohua.com/baoxiaoegao/(一串数字).html,你仔细看,这些数字不同就会产生不同的网页,所以我们只需要改变这一串数字即可改变网页,而不同的网页那些代码之间是有规律的,所以还是可以用之前的正则匹配提取有效的信息。
最后,那就来看看爬取的效果吧!
在这里插入图片描述
可以看到,已经爬取了一定量的搞笑图片了,朋友,If you are bored,you can try this.
最后附上源代码:

import requests
import re
import osdef get_html(url):headers = {'User - Agent': 'Mozilla / 5.0(Windows NT 10.0;WOW64) AppleWebKit / 537.36(KHTML, likeGecko) Chrome / 49.0.2623.221Safari / 537.36SE2.XMetaSr1.0'}res = requests.get(url, headers = headers)#print(res.status_code)if res.status_code == 200:return reselse:return Nonedef parse(html):patter = re.compile('<h1>(.*?)</h1>.*?<div id="nrbody".*?<img src="(.*?)".*?</p></div>',re.S)res = re.findall(patter, html)#print(res)return resdef main():for i in range(112000,113001,1):url = 'http://www.51xiaohua.com/baoxiaoegao/' + str(i) + '.html'print('正在爬取第%d张图片'.center(40,'*') %(i-111000+1))ss = get_html(url)#print(ss.text)if ss == None:continuehtml = ss.text#print(html)res = parse(html)#print(res)con = get_html('http:' + res[0][1])#print(con.content)path = 'D:\\爬取的搞笑图片\\'if not os.path.exists(path):os.makedirs(path)res = res[0][0]res = res.replace('?','')with open(path + res + '.png', 'wb') as f:f.write(con.content)if __name__ == '__main__':main()

作为一个搞UWOC的人来说,这仅仅是爱好(根本没时间去学习好吧 ),水平实在有限,作为爱好,慢慢来吧。


http://www.ppmy.cn/news/149493.html

相关文章

笑话类网站推广的几种很实用的方法

导语&#xff1a;现在的互联网上&#xff0c;只要是你想得到网站类型都有。每一个网站在初期都要进行推广&#xff0c;而不同类型的网站由于内容的不同&#xff0c;推广的方式也不一样。... 现在的互联网上&#xff0c;只要是你想得到网站类型都有。每一个网站在初期都要进行推…

详细实例:用python爬虫爬取幽默笑话网站!(建议收藏)

前言&#xff1a; 今天为大家带来的内容是详细实例&#xff1a;用python爬虫爬取幽默笑话网站&#xff01;&#xff08;建议收藏&#xff09;&#xff0c;文中通过示例代码介绍的非常详细&#xff0c;对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下! 爬取网…

spring cloud搭建(eureka)

天行健&#xff0c;君子以自强不息&#xff1b;地势坤&#xff0c;君子以厚德载物。 每个人都有惰性&#xff0c;但不断学习新东西是好好生活的根本&#xff0c;共勉&#xff01; 文章均为学习整理笔记&#xff0c;分享记录为主&#xff0c;如有错误请指正&#xff0c;共同学习…

PS CS6下载

PS CS6 TOOL下载 PS CS6下载 PS CS6下载 正版下载&#xff1a; https://guanjia.qq.com/sem/251/index.html?ADTAGmedia.buy.baidu.1584下载破译补丁&#xff1a; http://www.cncrk.com/downinfo/244796.html#wyplhttp://www.cncrk.com/downinfo/244796.html#wypl安装破译过程…

科技新品 | 索尼最新高级条形音箱;Bose消噪耳塞全新配色;新一代人工智能社交机器人Musio S...

“科技新产品动态”栏目把新鲜的具有代表性的科学产品带到您眼前&#xff0c;涉及消费电子&#xff0c;半导体、服务器、智能家电等众多品类&#xff0c;提供图片和简单的文字介绍。 索尼推出最新高级条形音箱HT-A5000&#xff1b;Bose消噪耳塞发布两款全新配色&#xff1b;卡西…

sony直营店可以享受到什么体验和服务?

Sony Store 是索尼在中国大陆地区的直营店&#xff0c;首家 Sony Store–上海淮海路店于2008年1月3日正式对外营业。它与索尼全球200多家 Sony Store 一起为索尼品牌的拥趸和消费电子产品的爱好者提供了一个了解、体验、购买索尼消费产品的场所。那在sony直营店可以享受到什么体…

Sony官网的售后服务怎么样?

购买商品的时候&#xff0c;用户不仅是要看商品的质量如何&#xff0c;更要看商品的售后服务怎么样&#xff0c;能否保证在商品出现质量问题或者其他问题时&#xff0c;可以及时响应给出完善的售后服务。而sony作为电子数码设备的领航者&#xff0c;售后方面更是广大用户的关注…

pha-1 android,音质提升一劳永逸 体验索尼PHA-1耳放解码一体机

如何既享受智能手机带来的便携&#xff0c;又能获得令人满意的高音质呢&#xff1f;许多用户或许会想到更换耳机&#xff0c;但手机本身的素质是个瓶颈。而现在流行种更立竿见影的做法&#xff0c;那就是为智能手机配备耳机放大器。耳放的发明是为了解决播放设备推力不足的问题…