2015已经过去,这是2016的第一篇博文!

祝大家新年快乐!

但是我还有好多期末考试!

还没开始复习,唉,一把辛酸泪!

最近看了一遍彦祖的文章叫做

所以自己也想小试牛刀.于是便开始动手写,但初次接触,还是遇见了很多不懂的东西,于是爬文一个一个解决了,最终抓取了自己想要的东西

彦祖的这篇文章里Python代码格式有错,但是解释是没错的!所以我待会儿贴出我能正确运行的代码

彦祖的文章里说可以直接用类似于cocoapods的Python库管理工具pip进行安装我们解析网页所需要用的第三方库BeautifulSoup!

Mac确实是自带了Python.但是并没有安装pip,所以需要我们手动进行安装!

有人说可以使用命令:easy_install pip进行安装,但是我并没有安装成功!百思不得其解

于是爬文寻找其他方法:http://stackoverflow.com/questions/17271319/installing-pip-on-mac-os-x

原来是需要我的超级管理员权限...

至此,安装Pip成功

第二步:安装BeautifulSoup!

用彦祖的命令去运行,结果报错!提示我安装失败!(又忘了截图..)

没办法,就尝试手动安装BeautifulSoup,结果还是不行

后来我想是不是还是因为没有管理员权限的原因

于是尝试加上过后,就安装成功了

好了,开始写代码吧,但是我一个新人连该用什么来写Python代码都不知道!

又搜!(好低级的问题)=====>用记事本就行(真方便)(保存为.py文件后,是用的xcode打开的)

于是敲了如下代码:

1 #!/usr/bin/python

2 #-*- coding: utf-8 -*-

3 #encoding=utf-8

4

5 importurllib26 importurllib7 importos8 from BeautifulSoup importBeautifulSoup9 defgetAllImageLink():10 html = urllib2.urlopen('http://www.dbmeinv.com').read()11 soup =BeautifulSoup(html)12

13 liResult = soup.findAll('li',attrs={"class":"span3"})14

15 for li inliResult:16 imageEntityArray = li.findAll('img')17 for image inimageEntityArray:18 link = image.get('src')19 imageName = image.get('title')20 filesavepath = '/Users/WayneLiu_Mac/Desktop/meizi/%s.png' %imageName21 urllib.urlretrieve(link,filesavepath)22 printfilesavepath23

24

25 if __name__ == '__main__':26 getAllImageLink()

获得了如下数据(彦祖好邪恶....):

其实python真的很强大的,短短数几十行代码就可以实现这些功能!

闲来无事,又完善了一下代码,用以获得所有妹子的照片...

1 #!/usr/bin/python

2 #-*- coding: utf-8 -*-

3 #encoding=utf-8

4

5 importurllib26 importurllib7 importos8 importsocket9 from BeautifulSoup importBeautifulSoup10

11

12 defgetAllImageLink():13 xiayiye =True14 page = '/?pager_offset=12'

15 while(1):16 html = urllib2.urlopen('http://www.dbmeinv.com%s' %page).read()17 soup =BeautifulSoup(html)18

19 liResult = soup.findAll('li',attrs={"class":"span3"})20 nextResult = soup.findAll('li',attrs={"class":"next next_page"})21

22

23 for li inliResult:24 imageEntityArray = li.findAll('img')25 nameResult = li.findAll('span',attrs={"class":"starcount"})26 for name innameResult:27 nameTitle = name.get('topic-image-id')28

29 for image inimageEntityArray:30 link = image.get('src')31 filesavepath = '/Users/WayneLiu_Mac/Desktop/meizi2/%s.jpg' %nameTitle32 socket.setdefaulttimeout(30)33 urllib.urlretrieve(link,filesavepath)34 printfilesavepath35

36 for nextPage innextResult:37 aEntityArray = nextPage.findAll('a')38 for a inaEntityArray:39 nextTitle = a.get('title')40 printnextTitle41 page = a.get('href')42 printpage43 if nextTitle.encode('utf-8') != "下一页":44 xiayiye =False45 printxiayiye46 if xiayiye ==False:47 break

48

49 if __name__ == '__main__':50 getAllImageLink()

呵呵哒...

用mac的python写网络爬虫_在mac下使用python抓取数据相关推荐

  1. 用python写网络爬虫 第2版 pd_用Python写网络爬虫(第2版)

    用Python写网络爬虫(第2版)电子书 畅销的Python网络爬虫发实战图书全新升级版,上一版年销量近40000册. 针对Python 3.6版本编写. 提供示例完整源码和实例网站搭建源码,确保用户 ...

  2. 用Python写网络爬虫:推荐这本书看看。

    <用Python写网络爬虫>讲解了如何使用Python来编写网络爬虫程序,内容包括网络爬虫简介,从页面中抓取数据的三种方法,提取缓存中的数据,使用多个线程和进程来进行并发抓取,如何抓取动态 ...

  3. 网页爬虫python代码_《用python写网络爬虫》完整版+源码

    原标题:<用python写网络爬虫>完整版+源码 <用python写网络爬虫>完整版+附书源码 本书讲解了如何使用Python来编写网络爬虫程序,内容包括网络爬虫简介,从页面中 ...

  4. python爬取微博恶评_详解用python写网络爬虫-爬取新浪微博评论

    新浪微博需要登录才能爬取,这里使用m.weibo.cn这个移动端网站即可实现简化操作,用这个访问可以直接得到的微博id. 分析新浪微博的评论获取方式得知,其采用动态加载.所以使用json模块解析jso ...

  5. 《用Python写网络爬虫》——1.5 本章小结

    本节书摘来自异步社区<用Python写网络爬虫>一书中的第1章,第1.5节,作者 [澳]Richard Lawson(理查德 劳森),李斌 译,更多章节内容可以访问云栖社区"异步 ...

  6. 用Python写网络爬虫pdf

    下载地址:网盘下载 作为一种便捷地收集网上信息并从中抽取出可用信息的方式,网络爬虫技术变得越来越有用.使用Python这样的简单编程语言,你可以使用少量编程技能就可以爬取复杂的网站. <用Pyt ...

  7. 《用Python写网络爬虫第2版》PDF中英文+代码分析

    互联网包含了迄今为止最有用的数据集,并且大部分可以免费公开访问.但是,这些数据难以复用.它们被嵌入在网站的结构和样式当中,需要抽取出来才能使用.从网页中抽取数据的过程又称为网络爬虫,随着越来越多的信息 ...

  8. python爬虫教程:Python写网络爬虫的优势和理由

    在本篇文章里小编给各位整理了一篇关于选择Python写网络爬虫的优势和理由以及相关代码实例,有兴趣的朋友们阅读下吧. 什么是网络爬虫? 网络爬虫是一个自动提取网页的程序,它为搜索引擎从万维网上下载网页 ...

  9. 用python写网络爬虫-爬取新浪微博评论

    新浪微博需要登录才能爬取,这里使用m.weibo.cn这个移动端网站即可实现简化操作,用这个访问可以直接得到的微博id. 分析新浪微博的评论获取方式得知,其采用动态加载.所以使用json模块解析jso ...

最新文章

  1. 海军工程大学学生电子课程-DIY Final预验收
  2. 使用多个DNS供应商以缓解DDoS攻击
  3. 注意语句顺序 防止Servlet Request Response乱码
  4. 李宏毅深度学习——Why Deep?
  5. iOS开发——多线程篇——GCD
  6. 使用nodejs构建Docker image最佳实践
  7. python商城源码_腾讯大佬用了12小时讲完的Python,整整400集,拿走不谢
  8. leetcode 144 --- 二叉树前序遍历
  9. 获取当前系统时间c语言,使用C语言获取当前系统的时间
  10. oracle匿名代码块执行insert,MyBatis+Oracle在执行insert时空值报错之从源码寻找解决办法...
  11. JavaWeb:生成简单随机图片验证码返回给客户端
  12. Kubernetes 小白学习笔记(14)--k8s集群路线-join原理
  13. 2017值得一瞥的JavaScript相关技术趋势
  14. 火狐浏览器 附件组件 Xpath 安装
  15. mysql 数字正则_mysql 正则
  16. 支付宝当面付_没有营业执照也能开支付宝当面付啦
  17. 怎样对php手册解除锁定,word锁定怎么解锁
  18. php 使用xunsearch--迅搜
  19. 论文解读-DeepMove: Predicting Human Mobility with Attentional Recurrent Networks
  20. php-opencv身份证识别,python opencv实现证件照换底功能

热门文章

  1. C/C++课程设计 之学生管理系统(一)
  2. 编译原理简单语法分析器(first,follow,分析表)源码下载
  3. codeforces B. Pasha and String(贪心)
  4. 网页设计工资一般多少_理发师工资一般多少钱一个月
  5. 软件开发模型_QT开发(二十三)——软件开发流程
  6. 计算机辅助审计的特点是,浅谈新环境下计算机辅助审计的特点和应用_1
  7. android 实例源码解释,Android Handler 原理分析及实例代码
  8. 三种平摊分析的方法分别为_干货|电工必须学会的三极管电路分析方法
  9. ios 通过kvc修改属性会触发kvo_iOS开发-KVC和KVO的理解
  10. python 判断数据类型,是否与已知相同