搬自大神boyXiong的干货!

闲来无事,看看了Python,发现这东西挺爽的,废话少说,就是干

准备搭建环境

因为是MAC电脑,所以自动安装了Python 2.7的版本

添加一个 库 Beautiful Soup ,方法这里说两种

1.在终端输入 pip install BeautifulSoup

2.手动下载包后,终端切换到 解压的文件夹,输入 sudo python setup.py install 下载地址BeautifulSoup

开始写代码吧

先找一个想要抓取东西的网站,这里我就随便找一个吧 地址是:http://movie.douban.com/chart

好了在终端输入 vim 我知道这个东西,对于新手来说,就是一个挑战,这里我也建议使用轻量的Sublime

代码如下 (注意python是严格的缩进,以下代码要顶格写)

1 #-*- coding:utf-8 -*-

2 import urllib2

3 import urllib

4 html=urllib2.urlopen("http://movie.douban.com/chart").read()

5 print html

输出的结果就是一个HTML的网页,这里我就看到自己想要抓取的图片和图片名的文字片段

分析我们想要的,一个是图片的名称,一个是图片的链接地址,直接上Python代码

1 #-*- coding:utf-8 -*-

2 import urllib2

3 from bs4 import BeautifulSoup

4

5 import sys

6 reload(sys)

7 sys.setdefaultencoding('utf8')

8

9 # 函数

10 def printPlistCode():

11 #1.得到这个网页的 html 代码 #

12 html = urllib2.urlopen("http://movie.douban.com/chart").read()

13

14 #2.转换 一种格式,方便查找

15 soup = BeautifulSoup(html)

16 #3. 得到 找到的所有 包含 a 属性是class = nbg 的代码块,数组

17 liResutl = soup.findAll('a', attrs = {"class" : "nbg"})

18 #4.用于拼接每个字典的字符串

19 tmpDictM = ''

20

21 #5. 遍历这个代码块 数组

22 for li in liResutl:

23

24 #5.1 找到 img 标签的代码块 数组

25 imageEntityArray = li.findAll('img')

26

27 #5.2 得到每个image 标签

28 for image in imageEntityArray:

29 #5.3 得到src 这个属性的 value 后面也一样 类似 key value

30 link = image.get('src')

31 imageName = image.get('alt')

32 #拼接 由于 py中 {} 是一种数据处理格式,类似占位符

33 tmpDict = '''@{0}@\"name\" : @\"{1}\", @\"imageUrl\" : @\"{2}\"{3},'''

34

35 tmpDict = tmpDict.format('{',imageName,link,'}')

36

37 tmpDictM = tmpDictM + tmpDict

38

39 #6.去掉最后一个 ,

40 tmpDictM = tmpDictM[0:len(tmpDictM) - 1].decode('utf8')

41

42 #7 拼接全部

43 restultStr = '@[{0}];'.format(tmpDictM)

44

45 print restultStr

46

47

48 if __name__ == '__main__':

49 printPlistCode()

输出结果就是Objective-C的 数组

@[@{@"name" : @"进击的巨人真人版:前篇", @"imageUrl" : @"http://img3.douban.com/view/movie_poster_cover/ipst/public/p2251690571.jpg"},@{@"name" : @"花与爱丽丝杀人事件", @"imageUrl" : @"http://img3.douban.com/view/movie_poster_cover/ipst/public/p2222398443.jpg"},@{@"name" : @"小黄人大眼萌", @"imageUrl" : @"http://img4.douban.com/view/movie_poster_cover/ipst/public/p2258235689.jpg"},@{@"name" : @"小森林 冬春篇", @"imageUrl" : @"http://img4.douban.com/view/movie_poster_cover/ipst/public/p2215147728.jpg"},@{@"name" : @"道士下山", @"imageUrl" : @"http://img3.douban.com/view/movie_poster_cover/ipst/public/p2251450614.jpg"},@{@"name" : @"深夜食堂 电影版", @"imageUrl" : @"http://img3.douban.com/view/movie_poster_cover/ipst/public/p2205014862.jpg"},@{@"name" : @"小男孩", @"imageUrl" : @"http://img4.douban.com/view/movie_poster_cover/ipst/public/p2230105606.jpg"},@{@"name" : @"头脑特工队", @"imageUrl" : @"http://img4.douban.com/view/movie_poster_cover/ipst/public/p2231021196.jpg"},@{@"name" : @"百元之恋", @"imageUrl" : @"http://img4.douban.com/view/movie_poster_cover/ipst/public/p2205471169.jpg"},@{@"name" : @"杀破狼2", @"imageUrl" : @"http://img4.douban.com/view/movie_poster_cover/ipst/public/p2246885606.jpg"}];

使用Xcode 写到Plist中去

#import

int main(int argc, const char * argv[]) {

NSArray *plistArray = @[@{@"name" : @"进击的巨人真人版:前篇", @"imageUrl" : @"http://img3.douban.com/view/movie_poster_cover/ipst/public/p2251690571.jpg"},@{@"name" : @"花与爱丽丝杀人事件", @"imageUrl" : @"http://img3.douban.com/view/movie_poster_cover/ipst/public/p2222398443.jpg"},@{@"name" : @"小黄人大眼萌", @"imageUrl" : @"http://img4.douban.com/view/movie_poster_cover/ipst/public/p2258235689.jpg"},@{@"name" : @"小森林 冬春篇", @"imageUrl" : @"http://img4.douban.com/view/movie_poster_cover/ipst/public/p2215147728.jpg"},@{@"name" : @"道士下山", @"imageUrl" : @"http://img3.douban.com/view/movie_poster_cover/ipst/public/p2251450614.jpg"},@{@"name" : @"深夜食堂 电影版", @"imageUrl" : @"http://img3.douban.com/view/movie_poster_cover/ipst/public/p2205014862.jpg"},@{@"name" : @"小男孩", @"imageUrl" : @"http://img4.douban.com/view/movie_poster_cover/ipst/public/p2230105606.jpg"},@{@"name" : @"头脑特工队", @"imageUrl" : @"http://img4.douban.com/view/movie_poster_cover/ipst/public/p2231021196.jpg"},@{@"name" : @"百元之恋", @"imageUrl" : @"http://img4.douban.com/view/movie_poster_cover/ipst/public/p2205471169.jpg"},@{@"name" : @"杀破狼2", @"imageUrl" : @"http://img4.douban.com/view/movie_poster_cover/ipst/public/p2246885606.jpg"}];

//路径可以自己选择

[plistArray writeToFile:@"/Users/xxx/Desktop/test/movie.plist" atomically:YES];

return 0;

}

到这里,就可以看到plist 文件可以用于测试了

如果想要复制粘贴这里面的代码,那就选择Sublime编辑器

(欢迎转帖,请附上源地址boyXiong)

python抓取网页数据并截图_网络爬虫-使用Python抓取网页数据相关推荐

  1. python爬取腾讯视频弹幕_网络爬虫实战(四):爬取腾讯视频电视剧弹幕-Go语言中文社区...

    文章目录 实战背景 说到被翻拍最多的大概就是金庸先生的剧了,有华人的地方就会有金庸剧.而在他的多部小说中,翻拍次数最多的无疑就是<倚天屠龙记>了,而且次数已经高达十四次.最早的是1963香 ...

  2. org.apache.poi Excel列与行都是动态生成的_网络爬虫:Python动态网页爬虫2种技术方式及示例...

    作者:糖甜甜甜 https://mp.weixin.qq.com/s/5Dwh5cbfjpDfm_FRcpw1Ug 这一讲,我将会为大家讲解稍微复杂一点的爬虫,即动态网页的爬虫. 动态网页技术介绍 动 ...

  3. python爬虫爬取新闻标题及链接_网络爬虫百度新闻标题及链接爬取

    1.主题:百度新闻爬取 2. python代码: import requests from bs4 import BeautifulSoup def getHTMLText(url): try: r ...

  4. [day4]python网络爬虫实战:爬取美女写真图片(Scrapy版)

    l> 我的新书<Android App开发入门与实战>已于2020年8月由人民邮电出版社出版,欢迎购买.点击进入详情 文章目录 1.开发环境 2.第三方库 3.Scrapy简介 4. ...

  5. Python 网络爬虫实战:爬取知乎回答中的全部图片

    平时逛知乎的时候,经常能看到很多很棒的图片,精美的壁纸,搞笑的表情包,有趣的截图等等,总有想全部保存下来的冲动. 于是在一个小老弟的拜托之下,我把之前的知乎爬虫改造了一下,改装成了一个可以下载知乎回答 ...

  6. [day2]python网络爬虫实战:爬取美女写真图片(增强版)

    l> 我的新书<Android App开发入门与实战>已于2020年8月由人民邮电出版社出版,欢迎购买.点击进入详情 文章目录 1.开发环境 2.第三方库 3.实现 1.分析url格 ...

  7. python能帮我们实现什么用_你都用 Python 来做什么?

    「除了生孩子,Python 啥都能做!!!」这句话最近实在是有些火啊,难道 Python 就真的这么强吗?当然,不信咱们可以看一下数据 这是近期 TIOBE 公布的 2019 年 10 月编程语言排行 ...

  8. 网络爬虫,python和数据分析学习--part1

    # -- coding: utf-8 -- """ Created on Tue Oct 10 08:38:20 2017 本段程序为科大王澎老师<网络爬虫,pyt ...

  9. 网络爬虫,python和数据分析学习--part2

    Created on Tue Oct 10 10:47:31 2017 本段程序为科大王澎老师<网络爬虫,python和数据分析>中P15,针对spyder3做了微调 主要任务:实现了自动 ...

最新文章

  1. SQL Server 日期和时间相关的数据类型有两种
  2. 当代大学生对学习Linux的一点拙见
  3. matlab肌电信号平滑滤波_BCIduino 滤波和频谱计算操作
  4. 1.1 VMware 一步一步创建虚拟机
  5. NSLog中格式符列表
  6. Web browser的发展演变
  7. 8位可控加减法器_自主可控:QTouch在军工道系统上的应用
  8. Android 入门篇(一)环境搭建
  9. js window对象常用内容
  10. 工作基本功:问题解决不了或不满意,不要重复,应该向上级反映或投诉
  11. UE4下载与存储图片
  12. PDMS管道设计基础到精通视频教程
  13. 浏览器提示:你的连接不是专用连接的解决方法
  14. 用纯JavaScript制作扫雷游戏-1
  15. Python爬虫进阶必备 | X天下与XX二手房密码加密分析
  16. @Scheduled出现Unexpected error occurred in scheduled task
  17. 模棱两可的生物学概念问题辨析1
  18. 小程序分享功能以及坑
  19. Synchronized的前因后果
  20. GitHub开源协议

热门文章

  1. python 化学计量学_【强烈推荐】十三个鲜为人知的大数据学习网站
  2. python 化学计量学_比特原子 Atombit
  3. 推荐这几个硬核大佬,过年抢他们红包
  4. 病毒分析系列3 | 初步动态分析工具使用
  5. SMART200 PLC与捷米特Profinet分布式IO模块进行数据采集案例
  6. WebView部分显示不全问题
  7. 一种特殊的线性变换——正交变换
  8. 「软件」仿站小工具v9.0
  9. 史上最全的 Stata 外部命令一览
  10. 邦纳LTF12KC2LDQ激光传感器