美文网首页Python学习日志
使用requests与bs4爬取网站①

使用requests与bs4爬取网站①

作者: 人生苦短_我用Python | 来源:发表于2018-03-18 20:26 被阅读5次

非结构化数据

没有固定数据格式
如网页资料
必须将数据转换为结构化数据才能取用

数据抽取,转换,储存(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)

相关文章

网友评论

    本文标题:使用requests与bs4爬取网站①

    本文链接:https://www.haomeiwen.com/subject/ofaeqftx.html