美文网首页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