Python -- 网络编程 -- 抓取网页图片 -- 图虫网
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Python -- 网络编程 -- 抓取网页图片 -- 图虫网,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1933字,纯文字阅读大概需要3分钟。
内容图文
![Python -- 网络编程 -- 抓取网页图片 -- 图虫网](/upload/InfoBanner/zyjiaocheng/1190/0acf868da2a44bb79b33dc7e715e71a1.jpg)
字符串(str)编码成字节码(bytes),字节码解码为字符串
获取当前环境编码:sys.stdin.encoding
url编码urllib.parse.quote()
url解码urllib.parse.unquote()
列表去重:pages = list(set(pages))
创建文件夹(可多级创建):os.makedirs(folder) os.mkdir()只能单级创建
首先分析网页(图虫网)的URL规律:
根网页地址形如:
http://tuchong.com/tags/人像/?page=[1, 2, 3 ...]
二级网页链接形如:
href="http://tuchong.com/239137/6400827/"
href="http://hezi1984.tuchong.com/6407909/"
目标图片链接形如:
src="http://photos.tuchong.com/27949/f/6915745.jpg"
-----程序源文件:getPic.py-----
1
import
re, os, time
2
import
urllib.parse
3
import
urllib.request
4
5
def getHtml(url):#取得网页的html纯文本 6return urllib.request.urlopen(url).read().decode(‘utf-8‘)
7 8def download(url, filename):#将文件下载到本地 9 urllib.request.urlretrieve(url, filename)
1011if__name__ == ‘__main__‘:
12print(‘---图虫图片抓取器---‘)
13 pageNo = int(input(‘请输入抓取页面的数字后缀(输入q退出):‘))
14#url汉字编码处理15 url = ‘http://tuchong.com/tags/{}/?page={}‘.format(16 urllib.parse.quote(‘人像‘), str(pageNo))
17#获取页面HTML文本18 html = getHtml(url)
1920#解析HTML文本,得到二级网页的地址(根网页缩略图所指向的链接)21 rePage = r‘http://tuchong.com/\d+/\d+/|http://\w+(?<!photos).tuchong.com/\d+/‘22 pages = re.findall(rePage, html)
23 pages = list(set(pages))
2425#解析二级网页,下载其中的图片26for page in pages:
27print(‘当前网页:‘, page)
28 html2 = getHtml(page)#取得二级网页内容29#解析二级网页中图片地址的正则表达式30 rePic = r‘http://photos.tuchong.com/.+/f/.+\.jpg‘31 pics = re.findall(rePic, html2)
32 pics = list(set(pics))
33 folder = ‘D:/TuChongRenXiang/{}/{}‘.format(pageNo, page[-8:-1])
34ifnot os.path.exists(folder):
35 os.makedirs(folder)
36 note = open(folder+‘/note.txt‘, ‘wt‘)#在每个文件夹下创建一个日志文件,记录下载地址37 note.write(‘来源网址:‘+page+‘\n图片原始地址列表:\n‘)
38for pic in pics:
39 note.write(pic+‘\n‘)
40 note.close()
41print(‘目标文件夹:‘, folder)
42 time.sleep(1)#程序暂停一秒43for pic in pics:
44print(‘当前下载:‘, pic)
45 download(pic, folder+‘/‘+pic[-11:])
46print(‘下载结束。‘)
474849
原文:http://www.cnblogs.com/baijifeilong/p/3708198.html
内容总结
以上是互联网集市为您收集整理的Python -- 网络编程 -- 抓取网页图片 -- 图虫网全部内容,希望文章能够帮你解决Python -- 网络编程 -- 抓取网页图片 -- 图虫网所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。