Python爬虫实战--(一)解析网页中的元素

本文介绍了如何使用Python的BeautifulSoup库解析本地网页,提取评分大于等于4的文章信息。解析过程包括:使用BeautifulSoup解析网页,描述要爬取的数据位置,以及筛选需要的信息。通过get_text()和get()方法获取文本和属性内容,用stripped_strings处理多个分类情况。
摘要由CSDN通过智能技术生成

目标:对一个本地自己写的网页来解析其中的内容,筛选出评分大于等于4分的文章。网页如下图所示,每篇文章包含标题、图片、分类、评分和描述五个部分。

这里写图片描述
解析过程可以大致划分为三个步骤:

  1. 使用BeaurifulSoup解析网页
  2. 描述要爬取的东西在哪
  3. 从标签中获得我们需要的信息

一、使用BeaurifulSoup解析网页

首先要导入python第三方库

from bs4 import BeautifulSoup

使用BeaurifulSoup解析网页的核心代码如下,其中html指的是一个html文件,参数“lxml”代表了使用lxml解析库来进行解析。除了lxml外还有其它的解析库,此处使用lxml。这行代码可以结合它的英文名字来进行理解,我们要得到一碗汤,我们需要食材–>html和食谱–lxml来进行制作。

Soup = BeautifulSoup(html, 'lxml')

我们通过以下代码来得到我们自己编写的网页的Soup,将Soup输出我们可以得到网页的html源码。

path = './web/new_index.html'
with open(path, 'r') as f:
    Soup = BeautifulSoup(f.read(), 'lxml')
    print(Soup)
<html>
<head>
    <link rel="stylesheet" type="text/css" href="new_blah.css">
</head>
<body>
    <div class="header">
        <img src="images/blah.png">
        <ul class="nav">
            <li><a href="#">Home</a></li>
            <li><a href="#">Site</a></li>
            <li><a href="#">Other</a></li>
        </ul>
    </div>
    <div class="main-content">
        <h2>Article</h2>
        <ul class="articles">
            <li>
                <img src="images/0001.jpg" width="100" height="91">
                <div class="article-info">
                    <h3><a href="www.sample.com">Sardinia's top 10 beaches</a></h3>
                    <p class="meta-info">
                        <span class="meta-cate">fun</span>
                        <span class="meta-cate">Wow</span>
                    </p>
                    <p class="description">white sands and turquoise waters</p>
                </div>
                <div class="rate">
                    <span class="rate-score">4.5</span>
                </div>
            </li>
            <li>
                <img src="images/0002.jpg" width="100" height="91">
         
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值