《零基础入门学习Python》学习过程笔记【56下载一个网站指定页数的XXOO图】
2017-08-09 05:51
477 查看
1如何创建目录? os.mkdir("目录名")
2.urllib.request.Request("网页链接")
urllib.request.Request对象 这种写法更容易为网站视为用户访问
如何得到Request对象?将string类型的网站强制类型转换,即Request("网站地址")
3.网站如何检查访问对象是否为用户?检查User-Agent
4如何查看一个网站的User-Agent?
右键网页,点击检查,再看Nework 这时在看下方..看是否有正在运行的东西,如果没有那点点网页,让网页发生变化。这时有在运行的东西了,点这个东西,就会出现User-Agent了
5.stra.find(strb,【开始索引】,【结束索引】)在stra中查找strb,返回索引
6.图片是二进制代码的形式
网页代码是utf-8的形式
7.stra.split(分隔符) 过指定分隔符对字符串进行切片返回分割后的字符串列表
8.list1[-1]得到列表的最后一个元素
9.if __name__=='__main__':的作用?
用if
__name__ == '__main__'来判断是否是在直接运行该.py文件
源代码如下
2.urllib.request.Request("网页链接")
urllib.request.Request对象 这种写法更容易为网站视为用户访问
如何得到Request对象?将string类型的网站强制类型转换,即Request("网站地址")
3.网站如何检查访问对象是否为用户?检查User-Agent
4如何查看一个网站的User-Agent?
右键网页,点击检查,再看Nework 这时在看下方..看是否有正在运行的东西,如果没有那点点网页,让网页发生变化。这时有在运行的东西了,点这个东西,就会出现User-Agent了
5.stra.find(strb,【开始索引】,【结束索引】)在stra中查找strb,返回索引
6.图片是二进制代码的形式
网页代码是utf-8的形式
7.stra.split(分隔符) 过指定分隔符对字符串进行切片返回分割后的字符串列表
8.list1[-1]得到列表的最后一个元素
9.if __name__=='__main__':的作用?
用if
__name__ == '__main__'来判断是否是在直接运行该.py文件
源代码如下
import urllib.request import os def url_open(url): req=urllib.request.Request(url)#生成一个Request对象,为什么生成这个对象? #因为要给它添加一个文件头让它看上去更像用户访问 req.add_header('User-Agent','Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.90 Mobile Safari/537.36') response=urllib.request.urlopen(url) html=response.read() #html的类型是字符串 return html def get_page(url): html=url_open(url).decode("utf-8") a=html.find('current-comment-page')+23 b=html.find(']',a) return html[a:b] #返回字符串 def find_imgs(url): #找到链接中的图片 html=url_open(url).decode('utf-8') img_addrs=[] #保存所有图片的地址 a=html.find("img src=") #找不到返回-1 while a!=-1 : b=html.find(".jpg",a,a+255) #一个链接最长长不过255 if b!=-1 : img_addrs.append("http:"+html[a+9:b+4]) else: b=a+9 a=html.find('img src=',b) return img_addrs def save_imgs(folder,img_addrs): for each in img_addrs: filename=each.split('/')[-1] with open(filename,'wb') as f: img=url_open(each) f.write(img) def download(folder='ooxx',pages=10): os.mkdir(folder) os.chdir(folder)#把当前目录切换为该目录 url='http://jandan.net/ooxx' page_num=int(get_page(url)) for i in range(pages): page_num=page_num-i page_url=url+"/page-"+str(page_num)+"#comments" img_addrs=find_imgs(page_url) #该列表保存该页码找到的所有图片 save_imgs(folder,img_addrs) if __name__=='__main__': download()
相关文章推荐
- 搭建一个ASP网站过程(Dreamwaver+Win7+IIS8)(学习笔记)
- 搭建一个ASP网站过程(Dreamwaver+Win7+IIS7)(学习笔记)
- 《零基础入门学习Python》学习过程笔记【54用python保存一张网站上的图片】
- 前端攻城狮学习笔记三:实现一个URI解析方法,把url里#之后的参数解析成指定的数据结构。
- 学习笔记:创建一个简单字符设备驱动的过程
- MCSE 2003学习笔记 十二 创建一个HTTPS网站
- 一个学习PHP的笔记(编程过程都如此)
- Ruby学习笔记2 : 一个简单的Ruby网站,搭建ruby环境
- 【OpenCV学习笔记】【编程实例】三(将一个图像中的指定区域拷贝到另一个图像的指定区域
- 分享一个源码下载网站,天气预报项目源码,比较适合新手学习
- Unix编程学习笔记--------把一个库下载到系统中,那么这个库到底是什么??? 其内部的机制和原理是什么???
- 一个很好的源码下载学习网站
- 我的学习笔记-刚从陶情网站上下载的Asp.Net学习的例子
- Python学习笔记23:Django构建一个简单的博客网站(一个)
- C语言学习笔记之 第五讲:C语言弹窗打开一个exe,文件,网站案例
- wss3 sdk学习笔记二:建立一个SharePoint网站应用
- 在D3D中绘制一个三角形的一个完整过程(学习3D游戏笔记一)
- 我知道一个学习资料的免费下载网站
- Jsoup学习笔记8:Jsoup 解析指定目录中的saz文件,生成一个名字相同的htm文件,将解析结果写入csv文件中
- 最简单 的 一个存储过程的详细建立与执行 (刚刚学习 做点笔记)