Ver beta..代码粗陋。

使用说明以Windows为例, Python版本为2.7.6

  1. 确认你电脑已经安装了Python, Windows默认安装路径为C:\Python27。如果没有安装,先下载安装 https://www.python.org/download/releases/2.7.6
  2. 下载mechanize (mechanize-0.2.5.zip)和BeautifulSoup (beautifulsoup4-4.3.2.tar.gz)
  3. 解压缩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

  4. 解压缩beautifulsoup4-4.3.2.tar.gz 到C:\beautifulsoup4-4.3.2,打开命令行,执行命令
    cd C:\beautifulsoup4-4.3.2
    C:\Python27\python setup.py install

  5. 拷贝下面代码,保存到任意目录(如:C:\picture\meizitu_spider.py)
  6. 打开命令行,执行命令
    cd C:\picture
    C:\Python27\python meizitu_spider.py

  7. 查看文件夹 C:\picture\MeiziTu
  8. 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简单爬图相关推荐

  1. 宅男福利 用Python爬取美女图片

    嘿嘿 召唤老色批 今天带大家爬去一下美女的图片 用的是requests和xpath去解析 获取网页和解析网页的函数 def get_tag(response,tag):html=etree.HTML( ...

  2. python为啥爬取数据会有重复_利用Python来爬取“吃鸡”数据,为什么别人能吃鸡?...

    原标题:利用Python来爬取"吃鸡"数据,为什么别人能吃鸡? 首先,神装镇楼 背景 最近老板爱上了吃鸡(手游:全军出击),经常拉着我们开黑,只能放弃午休的时间,陪老板在沙漠里奔波 ...

  3. 复习Java第一个项目学生信息管理系统 04(权限管理和动态挂菜单功能) python简单爬数据实例Java面试题三次握手和四次挥手生活【记录一个咸鱼大学生三个月的奋进生活】016

    记录一个咸鱼大学生三个月的奋进生活016 复习Java(学生信息管理系统04权限管理和动态挂菜单功能) 改写MainFrame的构造方法 新增LoginFrame的验证登录是否成功的代码 新增Logi ...

  4. 【爬虫】利用Python爬虫爬取小麦苗itpub博客的所有文章的连接地址并写入Excel中(2)...

    [爬虫]利用Python爬虫爬取小麦苗itpub博客的所有文章的连接地址并写入Excel中(2) 第一篇( http://blog.itpub.net/26736162/viewspace-22865 ...

  5. 利用python+selenium爬取derwent数据库上的patents

    利用python+selenium爬取derwent数据库上的patents 需求: 登陆web of science,并进入derwent数据库,按照公司excel列表依次进行搜索,并将所有搜索道德 ...

  6. 高仿萌聚 app ,内容简直是宅男福利啊

    mengqu 项目地址:panacena/mengqu 简介:高仿萌聚 app ,内容简直是宅男福利啊! 高仿萌趣 app 最近下了个叫做"萌趣"的 app,内容简直是宅男福利啊! ...

  7. Python简单爬取电影磁力链接

    Python简单爬取电影磁力链接 网页的链接:http://www.ygdy8.net/html/gndy/dyzz/list_23_2.html 打开你想要的电影:http://www.ygdy8. ...

  8. 利用Python制作动图演示坐标变换理论

    利用Python制作动图演示坐标变换理论 永磁同步电机是一个非线性.强耦合的物理系统,因而不便直接进行控制.后有研究人员创造性的提出了坐标变换理论(后逐渐成为矢量控制的一个部分),让永磁同步电机得以转 ...

  9. 利用python简单分析抓包数据

    利用python简单分析抓包数据 wireshark的数据 先读一行看看长啥样 import json data_file = r'E:\download\data.json' with open(d ...

最新文章

  1. 是男人就下100层【第五层】——2048游戏从源代码到公布市场
  2. DB2 V8,V9并存在同一 server 的处理
  3. 详解设计模式之工厂模式(简单工厂+工厂方法+抽象工厂)
  4. 模拟亚马逊、淘宝等浏览记录功能(访问数据库)
  5. NOIP2011 聪明的质监员
  6. cocos2d-x 帧动画
  7. python 数字转化excel行列_Python实现excel的列名称转数字、26进制(A-Z)与10进制互相转换...
  8. html无需列表怎么打,如何以html无序列表形式而不是xml打印这些结果?
  9. python rsa库_Python中rsa模块【sign 加签验签】的使用
  10. Am2910的指令扩展
  11. 兜兜转转躲不命运轮回---Java基础学习笔记2
  12. 高盛区块链79页完整报告:从理论到实践!
  13. 卸载python2.7_完美的.NET Framework卸载工具(支持卸载framework 1.0~4.7.2)
  14. Java SE 6.0实现高质量桌面集成开发
  15. Java程序员掉发系列——程序员的成长之路
  16. 记录用matlab APP中matlab coder的简单步骤
  17. macOS 下 Electron 程序的签名及公证
  18. android 动态壁纸 波浪效果,移动的波纹动态壁纸
  19. 视频直播平台性能测试
  20. CAS:1818880-26-0,4-Arm PEG-AC,四臂-聚乙二醇-丙烯酸酯试剂供应

热门文章

  1. java毕业设计理发预约系统源码+lw文档+mybatis+系统+mysql数据库+调试
  2. 小学计算机课教学工作总结,小学信息技术教学工作总结三篇
  3. 什么是深度学习?其工作原理是什么?
  4. 如何使用正则表达式验证图像文件扩展名
  5. 北京理工大学计算机学院课程表,北京理工大学工业设计课程表.doc
  6. 计算机网络之TCP中6种标识位
  7. 大话2004NBA全明星赛
  8. UNIX哲学之echo
  9. C语言case关键字后面的值有什么要求?
  10. Anacanda使用教程五(安装CUDA)