标签归档:beautifulsoup

Python 数据抓取学习笔记

1、HTTP请求模块该怎么选择?
Python自带有urllib、urllib2两个均不符合我的要求,urllib不可带header信息等,urllib2总提示错误不稳定,最终选择第三方模块httplib2,超级好用。
2、网页内容提取用什么方案?
可以使用lxml模块,beautifulsoup模块,json模块或者正则匹配。
3、使用HTTP请求超时问题怎么解决?
Python的Http请求均使用socket通信实现,通过判断socket的timeout异常即可检测HTTP请求中的异常是否是超时异常,超时时间通过”socket.setdefaulttimeout(10)”设置,切记一定要导入socket模块。
捕获超时异常案例:
from urllib2 import urlopen
import socket
slowurl =”https://www.baidu.com/”
socket.setdefaulttimeout(1)
try:
data = urlopen(slowurl)
data.read()
except socket.error:
errno, errstr = sys.exc_info()[:2]
if errno == socket.timeout:
print “There was a timeout”
else:
print “There was some other socket error”

转:大数据全栈式开发语言-Python

前段时间,ThoughtWorks 在深圳举办一次社区活动上,有一个演讲主题叫做“Fullstack JavaScript”,是关于用 JavaScript 进行前端、服务器端,甚至数据库(MongoDB)开发,一个 Web 应用开发人员,只需要学会一门语言,就可以实现整个应用。

受此启发,我发现 Python 可以称为大数据全栈式开发语言。因为 Python 在云基础设施,DevOps,大数据处理等领域都是炙手可热的语言。

领域 流行语言
云基础设施 Python, Java, Go
DevOps Python, Shell, Ruby, Go
网络爬虫 Python, PHP, C++
数据处理 Python, R, Scala

就像只要会 JavaScript 就可以写出完整的 Web 应用,只要会 Python,就可以实现一个完整的大数据处理平台。

云基础设施 继续阅读