zoukankan      html  css  js  c++  java
  • 网络爬虫基础练习

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Simple DOM Demo</title>
    </head>
    <body>
        <h1>This is the document body</h1>
        <P ID = "p1Node">This is paragraph 1.</P>
        <P ID = "p2Node">段落2</P>
        <a href="http://www.gzcc.cn">广州商学院</a>
        
        <li>
            <a href="http://news.gzcc.cn/html/2018/xiaoyuanxinwen_0328/9113.html">
                <div class="news-list-text">
                    <div class="news-list-title" style="">我校校长杨文轩教授讲授新学期“思政第一课”</div>
                    <div class="news-list-description">3月27日下午,我校校长杨文轩教授在第四教学楼310室为学生讲授了新学期“思政第一课”。</div>
                    <div class="news-list-info"><span><i class="fa fa-clock-o"></i>2018-03-28</span><span><i class="fa fa-building-o"></i>马克思主义学院</span></div>
                </div>
            </a>
        </li>
    </body>

    1.利用requests.get(url)获取网页页面的html文件

    import requests

    newsurl='http://news.gzcc.cn/html/xiaoyuanxinwen/'

    res = requests.get(newsurl) #返回response对象

    res.encoding='utf-8'

    2.利用BeautifulSoup的HTML解析器,生成结构树

    from bs4 import BeautifulSoup

    soup = BeautifulSoup(res.text,'html.parser')

    3.找出特定标签的html元素

    soup.p #标签名,返回第一个

    soup.head

    soup.p.name #字符串

    soup.p. attrs #字典,标签的所有属性

    soup.p. contents # 列表,所有子标签

    soup.p.text #字符串

    soup.p.string

    soup.select(‘li')

    4.取得含有特定CSS属性的元素

    soup.select('#p1Node')

    soup.select('.news-list-title')

    5.练习:

    取出h1标签的文本

    print(soup.h1.text)

    取出a标签的链接

    print(soup.body.a.attrs['href'])
    print(soup.li.a.attrs['href'])

    取出所有li标签的所有内容

    print(soup.li.contents)

    取出一条新闻的标题、链接、发布时间、来源

    print(soup.select('.news-list-title')[0].text)
    print(soup.body.li.a.attrs['href'])
    print(soup.select('.news-list-info')[0].contents[0].text)
    print(soup.select('.news-list-info')[0].contents[1].text)
  • 相关阅读:
    poj 2488 DFS
    畅通工程 并查集模版
    KMP 模板
    poj 1426 DFS
    poj 2528 线段数
    poj 3468 线段数 修改区间(点)
    CVPR2012文章阅读(2)A Unified Approach to Salient Object Detection via Low Rank Matrix Recovery
    如何制定目标
    Saliency Map 最新综述
    计算机视觉模式识别重要会议杂志
  • 原文地址:https://www.cnblogs.com/cs007/p/8675635.html
Copyright © 2011-2022 走看看