Python爬煎蛋网的图片——老司机的第一步
来源:互联网 发布:淘宝美工和ui设计师 编辑:程序博客网 时间:2024/06/10 15:09
最近一直在看廖大的教程,但是看着看着,我好无聊啊,于是就去找了一些煎蛋(简单)的爬虫小知识,意外的打开了
新世界的大门。啊哈,这下安逸咯~
煎蛋说下代码
这个是主程序,可以看到链接以及页码,以及启动函数
star()
if __name__=='__main__': url = 'http://jandan.net/ooxx/page-1#comments' pages = 58 start()
这个是
star()
函数,我们对链接进行页码的增加,同时通过函数open_url()
获取每页的资源,且通过函数get_img()
对图片进行本地化保存
def start(): for j in range(1,pages+1): url2 = url url2 = url2[:28]+str(j)+url[29:] print(url2) get_img(open_url(url2)) print('已经爬去取到第'+str(j) +'页')
这个是
open_url()
函数
def open_url(url2): #请求 request = urllib.request.Request(url2) #响应 response = urllib.request.urlopen(request) data = response.read() #转码 data = data.decode('utf-8') return data
这个是
get_img()
函数,里面saveFile()
这个函数是对把图标保存到本地。还有这个正则表达式,我不会,我抄的,大意我懂,但是写不出来- - 不过有讲正则的,你们可以搜下简书上的正则表达式文章
def get_img(html): # 从网页源代码中筛选出图片的链接 p = re.compile(r'src="([^"]+\.jpg)"') imglist = p.findall(html) for each in set(imglist): # 拼接链接 each = 'https:' + each print(each) try: # 保存到本地 urllib.request.urlretrieve(each, saveFile(each)) except: print('失败')
最后一个函数
saveFile()
def saveFile(path): #检测当前路径的有效性 if not os.path.isdir(targetPath): os.mkdir(targetPath) #设置每个图片的路径 pos = path.rindex('/') t = os.path.join(targetPath,path[pos+1:]) return t
当然还有头文件
import urllib.request,re,os#本地保存路径 这个写你们自己的路径就行了targetPath = "/Users/wangshengquan/Pictures/PythonImage"
最后是全部代码
#!/usr/bin/env python3# _*_ coding: utf-8 _*_import urllib.request,re,os#本地保存路径targetPath = "/Users/wangshengquan/Pictures/PythonImage"def saveFile(path): #检测当前路径的有效性 if not os.path.isdir(targetPath): os.mkdir(targetPath) #设置每个图片的路径 pos = path.rindex('/') t = os.path.join(targetPath,path[pos+1:]) return tdef open_url(url2): #请求 request = urllib.request.Request(url2) #响应 response = urllib.request.urlopen(request) data = response.read() #转码 data = data.decode('utf-8') return datadef get_img(html): # 从网页源代码中筛选出图片的链接 p = re.compile(r'src="([^"]+\.jpg)"') imglist = p.findall(html) for each in set(imglist): # 拼接链接 each = 'https:' + each print(each) try: # 保存到本地 urllib.request.urlretrieve(each, saveFile(each)) except: print('失败')def start(): for j in range(1,pages+1): url2 = url url2 = url2[:28]+str(j)+url[29:] print(url2) get_img(open_url(url2)) print('已经爬去取到第'+str(j) +'页')if __name__=='__main__': url = 'http://jandan.net/ooxx/page-1#comments' pages = 58 start()
Python有着丰富的第三方,确实很方便,而且很简洁,接下来的话,如果可以的话,我希望自己能够继续磨炼自己的技术,向tumblr进攻~
如果你们看Python实在无聊的话,可以找些有意思的网站,激发自己的学习欲望,嗯嗯,接下来我要努力提示自己,早日掌握代理以及爬隐藏视频连接的技术,早日推到tumblr~
推荐大神
LEONYao
阅读全文
0 0
- Python爬煎蛋网的图片——老司机的第一步
- python——基于煎蛋网的简单图片爬虫
- python 爬取煎蛋网妹子的图片
- 自己用python捣鼓的煎蛋网图片爬虫
- 用Python开车的老司机
- python爬虫之反爬虫情况下的煎蛋网图片爬取初步探索
- 老司机的应用级监控——spring?actuator
- 编程老司机的笔记,带你系统学Python
- java编写的爬虫爬取煎蛋的图片
- 安卓易学,爬坑不易——腾讯老司机的RecyclerView局部刷新爬坑之路
- 安卓易学,爬坑不易—腾讯老司机的RecyclerView局部刷新爬坑之路
- 安卓易学,爬坑不易—腾讯老司机的RecyclerView局部刷新爬坑之路
- 安卓易学,爬坑不易—腾讯老司机的RecyclerView局部刷新爬坑之路
- 【腾讯TMQ】穿山甲系列之老司机的千里眼——穿山甲SDK
- 老司机总结的21条即学即用经验
- 一篇老司机的Mac设置指南
- 老司机找bug的十年心路历程
- 老司机找bug的十年心路历程 .
- RecyclerView:java.lang.IndexOutOfBoundsException: Invalid item position
- Bug生命周期
- OSS阿里云对象存储服务前端JS下载日志文件
- list倒序,获取URL的参数 .val() 判断空值
- https在weblogic下访问报错,jboss和tomcat下好使
- Python爬煎蛋网的图片——老司机的第一步
- 06--MySQL自学教程:DML(Data Manipulation Language:数据库操作语言),只操作表
- SQL Server 2008 允许远程连接的解决方法
- Log4j 2使用教程一【简单使用】
- dinic+当前弧优化 模板
- Lambda
- 关于java调用http接口
- 关于 Metasploitable2 下的 unreal_ircd_3281_backdoor漏洞利用
- WinCE 中的 ListView怎么显示网格