网络数据采集学习之路

在这场数据交换中,网络浏览器从哪里开始参与的?完全没有参与。其实,在互联网的历史中,浏览器是一个比较年轻的发明,始于 1990 年的 Nexus 浏览器。

我们的 Python 程序没有返回并向服务器请求多个文件的逻辑,它只能读取我们已经请求的单个 HTML 文件。

urllib的python文档:https://docs.python.org/3/library/urllib.html

网络数据采集最痛苦的遭遇之一,就是爬虫运行的时候你洗洗睡了,梦想着明天一早数据就都会采集好放在数据库里, 结果第二天醒来,你看到的却是一个因某种数据格式异常导致运行错误的爬虫, 在前一天当你不再盯着屏幕去睡觉之后,没过一会儿爬虫就不再运行了。那个时候,你可能想骂发明互联网(以及那些奇葩的网络数据格式)的人,但是你真正应该斥责的人是你自己,为什么一开始不估计可能会出现的异常!

所以,加个捕捉异常、None值检测吧

def getTitle(url):
    try:    html = urlopen(url)
    except HTTPError as e:  return None
    try:
        bsObj = BeautifulSoup(html, features="html5lib")
        title = bsObj.body.h1
    except AttributeError as e: return None
    return title

在写爬虫的时候, 思考代码的总体格局,让代码既可以捕捉异常又容易阅读,这是很重要的。如果你还希望能够很大程度地重用代码, 那么拥有像 getSiteHTML 和 getTitle 这样的通用函数,具有周密的异常处理功能会让快速稳定地网络数据采集变得简单易行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值