《Python网络数据采集》7月8号-7月10号,这三天将该书精读一遍,脑海中有了一个爬虫大体框架后,对于后续学习将更加有全局感。

此前,曾试验看视频学习,但是一个视频基本2小时,全部拿下需要30多个视频,如此看来每天学习一个视频时间都是非常吃力的,且都属于被动输入,尤其是在早上学习视频容易犯困。

故此,及时调整学习策略,采用 “电子书+廖雪峰网页教程+实操+Google+咨询程序员+每日总结归纳”的主动学习模式,如此更加高效,更加容易把控进度!

学习爬虫,一者兴趣,致力于借此兴趣驱动力掌握编程思维,进而让自己有能够将想法做成产品的的技能;二者,为了一个近在眼前的爬虫商业化机遇,更希望借此为自己增加一个收入来源。

1. 爬虫常见得异常及处理方法,用一个简单得爬虫代码解释,核心知识点:

(1)异常一:网页在服务器上不存在(或者获取页面时,出现错误)。该异常发生时,程序会返回HTTP错误,如“404 Page Not Found” "500 Internet Server Error"等。

(2)异常二:服务器不存在(即,链接打不开,或者URL链接写错了),这时,urlopen会返回一个None对象。

Ps:有的时候,网页已经从服务器成功获取,如果网页上的内容并非完全是我们期望的那样,也会出现异常。

1 from urllib.request importurlopen

2 from bs4 importBeautifulSoup

3

4 try:

5 html = urlopen("http://pythonscraping.com/pages/page1.html")

6 # print(html.read())

7 # 检测:网页在服务器上是否存在(或者获取页面时是否出现错误)

8 exceptHTTPError as e:

9 print(e)

10 else:

11 bsobj =BeautifulSoup(html.read())

12 # 检测:服务器是否存在(就是说链接能否打开,或者是URL链接写错了)

13 if html isNone:

14 print("URL is not found")

15 else:

16 print(bsobj.h1)

17 # print(bsobj.title)

1 # 以上代码更改为检测异常更全面、可读性更强的代码,如下:

2 from urllib.request importurlopen

3 from bs4 importBeautifulSoup

4

5 defgetTitle(url):

6 try:

7 html =urlopen(url)

8 exceptHTTPError as e:

9 returnNone

10 try:

11 bsobj =BeautifulSoup(html.read())

12 title =bsobj.body.h1

13 exceptAttributeError as e:

14 return

15 returntitle

16

17 title1 = getTitle("http://pythonscraping.com/pages/page1.html")

18 if title1 ==None:

19 print("Title could not be found")

20 else:

21 print(title1)

该部分代码执行时,出现报错:

indentationerror: unexpected indent process finished with exit code 1

Google发现,Tag和Space不能混合使用。原始第五行,def被tab缩进,后删除该tab缩进,问题解决。该问题具体原因,仍需要仔细查明!!!

python数据采集框架_20190715《Python网络数据采集》第 1 章相关推荐

  1. Python爬虫初学二(网络数据采集)

    目录 一.网络数据采集 1.什么是网络数据采集 2.网络数据采集的特点 二.网络数据采集之urllib库 三.网络数据采集之requests库 1.requests安装 2.request方法汇总 3 ...

  2. 精通python爬虫框架-精通Python爬虫从Scrapy到移动应用(文末福利)

    原标题:精通Python爬虫从Scrapy到移动应用(文末福利) 我能够听到人们的尖叫声:"Appery.io是什么,一个手机应用的专用平台,它和Scrapy有什么关系?"那么,眼 ...

  3. 精通python爬虫框架-精通Python爬虫框架Scrapy.pdf

    作 者 :(美)迪米特里奥斯·考奇斯·劳卡斯(Dimitrios Kouzis Loukas)著:李斌译 出版发行 : 北京:人民邮电出版社 , 2018.02 ISBN号 :978-7-115-47 ...

  4. python分布式计算框架-Parallel Python

    本文翻译自:https://www.parallelpython.com/ 概述 Parallel Python是一个python模块,提供了在SMP(具有多个处理器或核心的操作系统)和群集上并行执行 ...

  5. 网络数据采集与python爬虫_高校邦网络数据采集与Python爬虫答案

    如果输入掩码设置为\"L\",则在输入数据的时候,该位置上可以接受的合法输入是(). 答:必须输入字母A~Z 新民主主义革命时期,城市小资产阶级包括( ) 答:小商人 知识分子 手 ...

  6. 精通python爬虫框架-精通Python爬虫框架Scrapy PDF 中文清晰版

    给大家带来的一篇关于Python爬虫相关的电子书资源,介绍了关于Python.爬虫.框架.Scrapy方面的内容,本书是由人民邮电出版社出版,格式为PDF,资源大小8.6 MB,迪米特里奥斯编写,目前 ...

  7. python学习框架图-Python Scrapy爬虫框架学习

    Scrapy 是用Python实现一个为爬取网站数据.提取结构性数据而编写的应用框架. 一.Scrapy框架简介 Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架. 可以应用在包括数 ...

  8. python spring框架_Spring Python

    Spring Python Spring Python是基于Java的Spring框架(Spring Framework)和Spring安全(Spring Security)的一个分支,它以Pytho ...

  9. Python单元测试框架《python 自动化框架 pytest》

    Pytest 简介 pytest 是python 的一种单元测试框架,不python 自带的unittest 测试框架类似,但是比 unittest 框架使用起来更简洁,效率更高.根据pytest 的 ...

最新文章

  1. 帧中继简单总结(修改)
  2. JVM 的内存结构和内存分配
  3. Android学习手记(2) Activity生命周期
  4. 昆仑通态触摸屏如何把参数由触摸屏传递到PLC_昆仑通态MCGS触摸屏如何连接Modsim32进行组态仿真...
  5. Git 提交报错,账户和密码错误 和 git add/git commit 文件太大太多
  6. Python编程基础21:GUI编程
  7. php获取上海时间代码,PHP获取常用时间的总结
  8. ubuntu12.04 安装配置jdk1.7
  9. OSChina 周五乱弹 —— 你用学习机来搞学习?
  10. ucos-II之就绪表解读
  11. python下载网络图片_Python下载网络图片方法汇总与实现
  12. 那些我在Android开发中所喜爱的Kotlin特性
  13. 【预测模型】基于天牛须算法BAS优化BP神经网络实现数据预测matlab源码
  14. Endnote导入下载好的引用文件
  15. js操作设置css动画,使用 CSS3 和 JavaScript 制作链接反转 3D 动画 - 文章教程
  16. [蓝桥杯][java]信用卡号验证问题
  17. IO流-节点流和处理流(涵盖底层调用关系)
  18. Logisim的使用
  19. python是开源的跨平台编程语言_Python是一种跨平台、开源、免费的动态编程语言。...
  20. Unity3D与PHP对MySQL执行增、删、改、查

热门文章

  1. springcloud系列四 搭建服务模块重点讲解
  2. 运行时异常与一般异常的区别
  3. 6.1 C/S 架构介绍
  4. Spring MVC重定向和转发及异常处理
  5. USB学习6---Linux Android USB软件架构设计
  6. WINCE6.0组件选择说明
  7. 单片机while用法c语言例子,51单片机-C语言之while(!x)的理解
  8. 手动启动 oracle 服务
  9. 前端必备,JavaScript面试问题及答案
  10. [JQuery] jQuery选择器ID、CLASS、标签获取对象值、属性、设置css样式