使用requests与bs4爬取网站①

非结构化数据

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

数据抽取,转换,储存(Data ETL)

Extract
Transformation
Loading

原始资料———————>ETL脚本——————>结构化数据
Ram Data      ETL Script    Tidy Data

如何处理非结构化数据

网络爬虫->将非结构化数据转化为结构化数据

网络爬虫架构

使用requests与bs4爬取网站①_第1张图片

透过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)



Hello World This is link1 This is link2

使用requests与bs4爬取网站①_第2张图片

通过套件beautifulsoup
网页—>DOM Tree
再根据DOM Tree的节点进行操作

BeautifulSoup范例

将网页读进BeautifulSoup中

from bs4 import BeautifulSoup
html_sample = '\
\
\

Hello World

\ This is link1\ This is link2\ \ ' soup = BeautifulSoup(html_sample,'html.parser') #不加,'html.parser'将产生未使用剖析器的警告 print(soup.text)

你可能感兴趣的:(使用requests与bs4爬取网站①)