• py3+urllib+re,爬虫下载捧腹网图片


    实现原理及思路请参考我的另外几篇爬虫实践博客

    py3+urllib+bs4+反爬,20+行代码教你爬取豆瓣妹子图:http://www.cnblogs.com/UncleYong/p/6892688.html
    py3+requests+json+xlwt,爬取拉勾招聘信息:http://www.cnblogs.com/UncleYong/p/6960044.html
    py3+urllib+re,轻轻松松爬取双色球最近100期中奖号码:http://www.cnblogs.com/UncleYong/p/6958242.html

    实现代码如下:

    import urllib.request, re
    
    # 获取网页源码
    def page(pg):
    	url = 'https://www.pengfu.com/index_%s.html'%pg
    	# 页面是utf8编码,所有解码成unicode
    	html = urllib.request.urlopen(url).read().decode('utf8') # <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    	# print(html)
    	return html
    
    # 获取标题
    def title(html):
    	reg = re.compile(r'<h1 class="dp-b"><a href=".*?" target="_blank">(.*?)</a>') # r表示防止转义
    	item = re.findall(reg, html)
    	# print(item)
    	return item
    
    # 获取图片url
    def content(html):
    	# html = page(1)
    	reg = r'<img src="(.*?)" width='
    	item = re.findall(reg, html)
    	# print(item)
    	return item
    
    def download(url, name):
    	path = 'image\%s.jpg'%name#.decode('utf-8').encode('gbk') # win下只识别gbk
    	urllib.request.urlretrieve(url, path)
    
    for i in range(5,9):
    	html = page(i)
    	title_list = title(html)
    	content_list = content(html)
    	for m, n in zip(title_list, content_list): # 把标题和图片对个对应
    		print('正在下载>>>>>:' + m, n)
    		download(n, m)	
    

  • 相关阅读:
    转载的:关于matlab中princomp的使用说明
    STL容器Vector
    Ubuntu20.04下创建Pycharm桌面图标
    c++和c中const的区别
    内存性能分析\垃圾回收 文章
    jq使用教程
    iOS15适配 UITableView下移22px
    linux 内核头文件(转)
    bjfu1143 小蝌蚪安家 解题报告
    hdu 1874 畅通工程续 flody
  • 原文地址:https://www.cnblogs.com/uncleyong/p/6973887.html
Copyright © 2020-2023  润新知