• 网络爬虫基础练习


    练习:

     这是练习的HTML文件:net.html

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>这是标题!</title>
    </head>
    <body>
        <h1>这是h1标签</h1>
        <P ID = "p1Node">This is paragraph 1.</P>
        <P ID = "p2Node">段落2</P>
        <li><a href="http://www.gzcc.cn/">广州商学院</a></li>
        <li><a href="http://news.gzcc.cn">第一新闻网</a></li>
        <li><a href="http://news.gzcc.cn">第二新闻网</a></li>
        <li>
                    <a href="http://news.gzcc.cn/html/2018/xiaoyuanxinwen_0327/9106.html">
                        <div class="news-list-thumb"><img src="http://oa.gzcc.cn/uploadfile/2018/0327/20180327035432412.jpg"></div>
                        <div class="news-list-text">
                            <div class="news-list-title" style="">新西兰梅西大学代表团来我校访问</div>
                            <div class="news-list-description">3月27日上午,新西兰梅西大学商务发展与运营经理Rebecca Argyle、商务经理Joy Hotter等一行来我校访问交流。</div>
                            <div class="news-list-info"><span><i class="fa fa-clock-o"></i>2018-03-27</span><span><i class="fa fa-building-o"></i>外国语学院</span></div>
                        </div>
                    </a>
        </li>
    
    </body>
    </html>

    取出h1标签的文本

    取出a标签的链接
    取出所有li标签的所有内容
    取出第2个li标签的a标签的第3个div标签的属性

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

    # -*- coding:UTF-8 -*-
    # -*- author:deng -*-
    import requests
    from bs4 import BeautifulSoup
    res = requests.get('http://localhost:63342/hello/net.html?_ijt=tuenh08pgsh6msjqkka9cjg3im')
    res.encoding = 'UTF-8'
    soup = BeautifulSoup(res.text, 'html.parser')
    
    # 取出h1标签的文本
    for h1 in soup.find_all('h1'):
        print(h1.text)
    # 取出a标签的链接
    for a in soup.find_all('a'):
        print(a.attrs.get('href'))
    # 取出所有li标签的所有内容
    for li in soup.find_all('li'):
        print(li.contents)
    # 取出第2个li标签的a标签的第3个div标签的属性
    print(soup.find_all('li')[1].a.find_all('div')[2].attrs)
    
    # 取出一条新闻的标题、链接、发布时间、来源
    print(soup.select('div .news-list-title')[0].text)
    print(soup.select('div .news-list-thumb')[0].parent.attrs.get('href'))
    print(soup.select('div .news-list-info > span')[0].text)
    print(soup.select('div .news-list-info > span')[1].text)

    问题:每次requests获取新建的HTML文件时,都要重新用浏览器打开net.html来更新localhost地址才能运行Python文件。

  • 相关阅读:
    JS第二天
    ES6
    Asp.net Core Web Mvc项目添加Jwt验证
    .Net Core 平台下创建WinForm窗体SignalR客户端
    .Net Core平台下实现SignalR客户端和服务端
    .Net Framework 平台下创建WinForm窗体SignalR客户端
    在.Net Framework平台下WPF实现SignalR客户端
    .Net Framework框架下实现SignalR客户端和服务端
    信息系统项目管理师10大管理47个过程域输入输出工具(项目人力资源管理)
    信息系统项目管理师10大管理47个过程域输入输出工具(项目质量管理)
  • 原文地址:https://www.cnblogs.com/dfq621/p/8672206.html
Copyright © 2020-2023  润新知