宅男福利--利用Python简单爬图
Ver beta..代码粗陋。
使用说明以Windows为例, Python版本为2.7.6
- 确认你电脑已经安装了Python, Windows默认安装路径为C:\Python27。如果没有安装,先下载安装 https://www.python.org/download/releases/2.7.6
- 下载mechanize (mechanize-0.2.5.zip)和BeautifulSoup (beautifulsoup4-4.3.2.tar.gz)
- 解压缩mechanize-0.2.5.zip 到C:\mechanize-0.2.5,打开命令行(Windows键+R键,输入cmd,回车),分别执行以下两条命令
cd C:\mechanize-0.2.5 C:\Python27\python setup.py install
- 解压缩beautifulsoup4-4.3.2.tar.gz 到C:\beautifulsoup4-4.3.2,打开命令行,执行命令
cd C:\beautifulsoup4-4.3.2 C:\Python27\python setup.py install
- 拷贝下面代码,保存到任意目录(如:C:\picture\meizitu_spider.py)
- 打开命令行,执行命令
cd C:\picture C:\Python27\python meizitu_spider.py
- 查看文件夹 C:\picture\MeiziTu
- Enjoy :-)
代码:
#!/usr/local/bin/python # -*-coding=utf-8-*- # Filename: meizitu_spider.pyimport os import mechanize from bs4 import BeautifulSoupbr = mechanize.Browser() br.set_handle_robots(False) br.addheaders = [("User-Agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1")] #br.set_proxies({"http": "proxy.host.com:port"})def parse_url(url):br.open(url)response = br.response()soup = BeautifulSoup(response.read(), from_encoding='gb18030')return soupdef find_next_page(soup):page_nums = soup.find('div', id='wp_page_numbers').find_all('li');next_page_wrapper = page_nums[-2]return next_page_wrapper.find('a')host = "http://www.meizitu.com/" next_page_uri = ''page_count = 1 parent_folder = 'MeiZiTu' if(not(os.path.exists(parent_folder))):os.mkdir(parent_folder)while True:print 'Start to parse PAGE %d' %page_countsoup = parse_url(host + 'a/' + next_page_uri)next_page = find_next_page(soup)if next_page == None:breaknext_page_uri = next_page.get('href')for pic_link_wrapper in soup.find_all('div', attrs={'class':'metaRight'}):pic_link = pic_link_wrapper.find('a')album_soup = parse_url(pic_link.get('href'))album_name = os.path.join(parent_folder, pic_link.get_text())if(os.path.exists(album_name)):continueos.mkdir(album_name)for img in album_soup.find('div', id='picture').find_all('img'):img_src = img.get('src')img_name = img_src[img_src.rindex('/')+1:]picture_data = mechanize.urlopen(img_src)with open(os.path.join(album_name, img_name), 'wb') as picture:picture.write(picture_data.read())page_count += 1
转载于:https://www.cnblogs.com/hooligen/p/3671931.html
宅男福利--利用Python简单爬图相关推荐
- 宅男福利 用Python爬取美女图片
嘿嘿 召唤老色批 今天带大家爬去一下美女的图片 用的是requests和xpath去解析 获取网页和解析网页的函数 def get_tag(response,tag):html=etree.HTML( ...
- python为啥爬取数据会有重复_利用Python来爬取“吃鸡”数据,为什么别人能吃鸡?...
原标题:利用Python来爬取"吃鸡"数据,为什么别人能吃鸡? 首先,神装镇楼 背景 最近老板爱上了吃鸡(手游:全军出击),经常拉着我们开黑,只能放弃午休的时间,陪老板在沙漠里奔波 ...
- 复习Java第一个项目学生信息管理系统 04(权限管理和动态挂菜单功能) python简单爬数据实例Java面试题三次握手和四次挥手生活【记录一个咸鱼大学生三个月的奋进生活】016
记录一个咸鱼大学生三个月的奋进生活016 复习Java(学生信息管理系统04权限管理和动态挂菜单功能) 改写MainFrame的构造方法 新增LoginFrame的验证登录是否成功的代码 新增Logi ...
- 【爬虫】利用Python爬虫爬取小麦苗itpub博客的所有文章的连接地址并写入Excel中(2)...
[爬虫]利用Python爬虫爬取小麦苗itpub博客的所有文章的连接地址并写入Excel中(2) 第一篇( http://blog.itpub.net/26736162/viewspace-22865 ...
- 利用python+selenium爬取derwent数据库上的patents
利用python+selenium爬取derwent数据库上的patents 需求: 登陆web of science,并进入derwent数据库,按照公司excel列表依次进行搜索,并将所有搜索道德 ...
- 高仿萌聚 app ,内容简直是宅男福利啊
mengqu 项目地址:panacena/mengqu 简介:高仿萌聚 app ,内容简直是宅男福利啊! 高仿萌趣 app 最近下了个叫做"萌趣"的 app,内容简直是宅男福利啊! ...
- Python简单爬取电影磁力链接
Python简单爬取电影磁力链接 网页的链接:http://www.ygdy8.net/html/gndy/dyzz/list_23_2.html 打开你想要的电影:http://www.ygdy8. ...
- 利用Python制作动图演示坐标变换理论
利用Python制作动图演示坐标变换理论 永磁同步电机是一个非线性.强耦合的物理系统,因而不便直接进行控制.后有研究人员创造性的提出了坐标变换理论(后逐渐成为矢量控制的一个部分),让永磁同步电机得以转 ...
- 利用python简单分析抓包数据
利用python简单分析抓包数据 wireshark的数据 先读一行看看长啥样 import json data_file = r'E:\download\data.json' with open(d ...
最新文章
- 是男人就下100层【第五层】——2048游戏从源代码到公布市场
- DB2 V8,V9并存在同一 server 的处理
- 详解设计模式之工厂模式(简单工厂+工厂方法+抽象工厂)
- 模拟亚马逊、淘宝等浏览记录功能(访问数据库)
- NOIP2011 聪明的质监员
- cocos2d-x 帧动画
- python 数字转化excel行列_Python实现excel的列名称转数字、26进制(A-Z)与10进制互相转换...
- html无需列表怎么打,如何以html无序列表形式而不是xml打印这些结果?
- python rsa库_Python中rsa模块【sign 加签验签】的使用
- Am2910的指令扩展
- 兜兜转转躲不命运轮回---Java基础学习笔记2
- 高盛区块链79页完整报告:从理论到实践!
- 卸载python2.7_完美的.NET Framework卸载工具(支持卸载framework 1.0~4.7.2)
- Java SE 6.0实现高质量桌面集成开发
- Java程序员掉发系列——程序员的成长之路
- 记录用matlab APP中matlab coder的简单步骤
- macOS 下 Electron 程序的签名及公证
- android 动态壁纸 波浪效果,移动的波纹动态壁纸
- 视频直播平台性能测试
- CAS:1818880-26-0,4-Arm PEG-AC,四臂-聚乙二醇-丙烯酸酯试剂供应