爬虫入门1——爬图
来源:互联网 发布:陕西网络作家协会 编辑:程序博客网 时间:2024/06/16 02:33
低级版
import urllib.requestimport osdef url_open(url): req=urllib.request.Request(url) req.add_header('User-Agent','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36') response=urllib.request.urlopen(url) html=response.read() return htmldef 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=') while a!=-1: b=html.find('.jpg',a,a+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_addrsdef save_imgs(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_mm(folder='picture',pages=10): if not os.path.exists(folder): os.mkdir(folder) os.chdir(folder) url='http://jandan.net/ooxx/' page_num=int(get_page(url)) for i in range(pages): page_num-=i page_url=url+'page-'+str(page_num)+'#comments' print(page_url) img_addrs=find_imgs(page_url) save_imgs(img_addrs)if __name__=='__main__': download_mm()
正则化版
import urllib.requestimport osimport redef url_open(url): req=urllib.request.Request(url) req.add_header('User-Agent','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36') response=urllib.request.urlopen(url) html=response.read() return htmldef 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 get_imgs(url): html=url_open(url).decode('utf-8') p=r'src="(.+\.jpg)"' imglist=re.findall(p,html) for each in imglist: filename=each.split('/')[-1] urllib.request.urlretrieve('http:'+each,filename)def download_mm(folder='picture',pages=10): if not os.path.exists(folder): os.mkdir(folder) os.chdir(folder) url='http://jandan.net/ooxx/' page_num=int(get_page(url)) for i in range(pages): page_num-=i page_url=url+'page-'+str(page_num)+'#comments' print(page_url) get_imgs(page_url)if __name__=='__main__': download_mm()
阅读全文
1 0
- 爬虫入门1——爬图
- 爬虫入门——02
- CSDN爬虫(一)——爬虫入门+数据总览
- Python爬虫框架Scrapy教程(1)—入门
- Python爬虫—1入门_3_cookie的使用
- Python爬虫—1入门_4_正则表达式
- 玩玩小爬虫——入门
- 网络爬虫开发技术——入门
- Python爬虫入门——爬取贴吧图片
- Python爬虫入门——正则表达式
- Python基础知识——爬虫入门
- python爬虫入门——初步采集
- 玩玩小爬虫——入门
- 爬虫入门(1)
- python爬虫开发(6)—爬虫入门--Requests爬虫(cookie)
- python爬虫开发(6)—爬虫入门--Requests爬虫(session)
- python爬虫入门1--爬虫基本结构
- Python 爬虫入门 1 了解爬虫Scrapy
- 笔试选择题——出栈&入栈问题
- 由某云盘下载速度慢而引发的一场血案!!!
- C#回顾学习笔记二十七:using的两个作用
- 一款多功能的移动端车牌识别软件
- Cordova webapp+android studio开发环境的搭建
- 爬虫入门1——爬图
- Leetcode532. 找出数组中绝对值为k的数值对的数目
- 034、java常用类-Scanner类
- Windows系统如何通过修改注册表启用/禁用任务管理器
- sublimeemmet jsFormat git相关
- hdu6216 A Cubic number and A Cubic Number 打表找规律 + 二分
- esp8266 inet_ntoa函数实现 ip地址转换为字符串 MAC地址转字符串
- Tomcat服务端工程部署遇到的 “The method getDispatcherType() is undefined for the type HttpServletReques
- [有用] WIFI模块ESP8266的使用指南(客户端和服务器两种模式建立)