非结构化数据
没有固定数据格式
如网页资料
必须将数据转换为结构化数据才能取用
数据抽取,转换,储存(Data ETL)
Extract
Transformation
Loading
原始资料———————>ETL脚本——————>结构化数据
Ram Data ETL Script Tidy Data
如何处理非结构化数据
网络爬虫->将非结构化数据转化为结构化数据
网络爬虫架构
透过pip安装套件
pip install requests
pip install BeautifulSoup4
Requests
网络资源(URLS)摘取套件
改善Urllib2的缺点,以最简单的方式获取网络资源
可以使用REST操作(POST,PUT,GET,DELETE)存取网络资源
import requests
newsurl = 'http://news.baidu.com/'
res = requests.get(newsurl)
res.encoding = 'utf-8'
print(res.text)
DOM Tree(Document Object Model)
<html>
<body>
<h1 id="title">Hello World</h>
<a href="#" class="link">This is link1</a>
<a href="#link2" class="link">This is link2</a>
</body>
</html>
通过套件beautifulsoup
网页—>DOM Tree
再根据DOM Tree的节点进行操作
BeautifulSoup范例
将网页读进BeautifulSoup中
from bs4 import BeautifulSoup
html_sample = '\
<html>\
<body>\
<h1 id="title">Hello World</h1>\
<a href="#" class="link">This is link1</a>\
<a href="#link2" class="link">This is link2</a>\
</body>\
</html>'
soup = BeautifulSoup(html_sample,'html.parser')
#不加,'html.parser'将产生未使用剖析器的警告
print(soup.text)
网友评论