技能树-网络爬虫-BeautifulSoup

这篇具有很好参考价值的文章主要介绍了技能树-网络爬虫-BeautifulSoup。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

技能树-网络爬虫-BeautifulSoup
Python入门技能树

大家好,我是空空star,本篇给大家分享一下《技能树-网络爬虫-BeautifulSoup》

一、获取所有p标签

获取所有p标签里的文本

# -*- coding: UTF-8 -*-
from bs4 import BeautifulSoup

def fetch_p(html):
    # TODO(You): 请在此实现代码
    return results

if __name__ == '__main__':
    html = '''
        <html>
            <head>
                <title>这是一个简单的测试页面</title>
            </head>
            <body>
                <p class="item-0">body 元素的内容会显示在浏览器中。</p>
                <p class="item-1">title 元素的内容会显示在浏览器的标题栏中。</p>
            </body>
        </html>
        '''
    p_text = fetch_p(html)
    print(p_text)

请选出下列能正确实现这一功能的选项。
A.

def fetch_p(html):
   soup = BeautifulSoup(html, ‘lxml’)
   p_list = soup.xpath(“p”)
   results = [p.text for p in p_list]
   return results

B.

def fetch_p(html):
   soup = BeautifulSoup(html, ‘lxml’)
   p_list = soup.find_all(“p”)
   results = [p.text for p in p_list]
   return results

C.

def fetch_p(html):
   soup = BeautifulSoup(html, ‘lxml’)
   results = soup.find_all(“p”)
   return results

D.

def fetch_p(html):
   soup = BeautifulSoup(html, ‘lxml’)
   p_list = soup.findAll(“p”)
   results = [p.text for p in p_list]
   return results

分析:
A是错的,没有xpath方法;
B是对的,
['body 元素的内容会显示在浏览器中。', 'title 元素的内容会显示在浏览器的标题栏中。']
C是错的,获取到的不仅有文本,还有标签
[<p class="item-0">body 元素的内容会显示在浏览器中。</p>, <p class="item-1">title 元素的内容会显示在浏览器的标题栏中。</p>]
D也是对的,在BeautifulSoup中,find_all()和findAll()是等价的方法,都用于查找文档中符合条件的所有tag。它们的参数都可以传入tag名称、属性名或属性值等。
之所以有这两个方法的不同写法,是因为BeautifulSoup早期的版本使用的是findAll()方法,而后续版本为了与Python的命名规范保持一致,增加了find_all()方法,但实际上它们的功能和用法是完全相同的。

二、获取所有text

获取网页的text

# -*- coding: UTF-8 -*-
from bs4 import BeautifulSoup

def fetch_text(html):
    # TODO(You): 请在此实现代码
    return result

if __name__ == '__main__':
    html = '''
        <html>
            <head>
                <title>这是一个简单的测试页面</title>
            </head>
            <body>
                <p class="item-0">body 元素的内容会显示在浏览器中。</p>
                <p class="item-1">title 元素的内容会显示在浏览器的标题栏中。</p>
            </body>
        </html>
        '''
    text = fetch_text(html)
    print(text)

请选出下列能正确实现这一功能的选项。
A.

def fetch_text(html):
    soup = BeautifulSoup(html, 'lxml')
    result = soup.find_all('text')
    return result

B.

def fetch_text(html):
    soup = BeautifulSoup(html, 'lxml')
    result = soup.text
    return result

C.

def fetch_text(html):
    soup = BeautifulSoup(html, 'lxml')
    result = soup.find_text()
    return result

D.

def fetch_text(html):
    soup = BeautifulSoup(html, 'lxml')
    result = soup.text()
    return result

分析:
A是错的,find_all是根据tag查,该题目是要求获得文本,而不是获得tag为text的;
B是对的,



这是一个简单的测试页面


body 元素的内容会显示在浏览器中。
title 元素的内容会显示在浏览器的标题栏中。




Process finished with exit code 0

C是错的,没有find_text();
D是错的,没有text()

三、获取所有图片地址

查找网页里所有图片地址

from bs4 import BeautifulSoup

def fetch_imgs(html):
    # TODO(You): 请在此实现代码
    return imgs

def test():
    imgs = fetch_imgs(
        '<p><img src="http://example.com"/><img src="http://example.com"/></p>')
    print(imgs)

if __name__ == '__main__':
    test()

请选出下列能正确实现这一功能的选项。
A.

def fetch_imgs(html):
    soup = BeautifulSoup('html.parser', html)
    imgs = [tag['src'] for tag in soup.find_all('img')]
    return imgs

B.

def fetch_imgs(html):
    soup = BeautifulSoup(html, 'html.parser')
    imgs = [tag['src'] for tag in soup.find_all('img')]
    return imgs

C.

def fetch_imgs(html):
    soup = BeautifulSoup(html, 'html.parser')
    imgs = [tag for tag in soup.find_all('img')]
    return imgs

D.

def fetch_imgs(html):
    soup = BeautifulSoup(html, 'html.parser')
    imgs = soup.find_all('img')
    return imgs

分析:
A是错的,BeautifulSoup中参数写反了;
B是对的,['http://example.com', 'http://example.com']
C是错的,会把img的标签也会带上,
[<img src="http://example.com"/>, <img src="http://example.com"/>]
D是错的,会把img的标签也会带上,
[<img src="http://example.com"/>, <img src="http://example.com"/>]文章来源地址https://www.toymoban.com/news/detail-556672.html

总结

到了这里,关于技能树-网络爬虫-BeautifulSoup的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • python晋江文学城数据分析(一)——爬虫(BeautifulSoup正则)

    学爬虫,拿平常看小说的绿色网站下手。 爬取的数据主要分为两部分,收藏榜的小说信息和小说详情页的部分数据。         通过点击榜单上侧选项(其实也可以用拼音猜一猜),观察url变化,寻找规律。如fw指代范围,fbsj指代发表时间,ycx指代原创性,以此类推。可以

    2024年02月08日
    浏览(46)
  • python3 爬虫相关学习7:初步摸索使用 BeautifulSoup

    目录 1 一个爬图片pic的代码的例子 1.1 学习的原文章 1.2 原始代码的问题总结 问题1 问题2 问题3 其他问题 1.3 原始代码 2  直接在cmd里 python运行报错 和 处理 2.1 运行报错 2.2 报错原因: 没有提前安装这个bs4  模块 2.3 如何提前知道我的python环境下有没有安装bs4 或其他模块呢

    2024年02月08日
    浏览(46)
  • Python爬虫学习笔记(六)————BeautifulSoup(bs4)解析

    目录 1.bs4基本简介 (1)BeautifulSoup简称 (2)什么是BeatifulSoup? (3)优缺点 2.bs4安装以及创建 (1)安装          (2)导入          (3)创建对象 3.节点定位 (1)根据标签名查找节点 (2)函数         ①find(返回一个对象)         ②find_all(返回一个列表

    2024年02月17日
    浏览(57)
  • Python爬虫——BeautifulSoup,获取HTML中文档,标签等内容

    将复杂的HTML文档转换成一个复杂的树形结构,每个结点都是一个Python对象,所有对象可以分为四种: Tag NavigableString BeautifulSoup Comment 首先要引入该函数,再打开相应的html文件读取其中的内容,在使用BeautiSoup对其进行解析,解析的时候要使用相应类型的解析器html.parser bs当中

    2024年02月06日
    浏览(53)
  • python3 爬虫相关学习9:BeautifulSoup 官方文档学习

    目录 1 BeautifulSoup 官方文档 2 用bs 和 requests 打开 本地html的区别:代码里的一段html内容 2.1 代码和运行结果 2.2 用beautiful 打开 本地 html 文件 2.2.1 本地html文件 2.2.2 soup1=BeautifulSoup(html1,\\\"lxml\\\") 2.3 用requests打开 本地 html 文件 2.3.1 本地html文件 2.3.2 print(html1) 3 用bs 和 requests 打开 本

    2024年02月08日
    浏览(45)
  • python spider 爬虫 之 解析 xpath 、jsonpath、BeautifulSoup (三)

    简称:bs4 BeautifulSoup跟lxml 一样,是一个html文档的解析器,主要功能也是解析和提取数据 优缺点 缺点:效率没有lxml的效率高 优点:接口接口人性化,使用方便 延用了css选择器 安装BeautifulSoup 1、安装:pip install bs4 2、导入:from bs4 import BeautifulSoup 3、创建bs4 对象 ① 服务器响

    2024年02月11日
    浏览(61)
  • 一天掌握python爬虫【基础篇】 涵盖 requests、beautifulsoup、selenium

    大家好,我是python222小锋老师。前段时间卷了一套  Python3零基础7天入门实战  以及1小时掌握Python操作Mysql数据库之pymysql模块技术 近日锋哥又卷了一波课程,python爬虫【基础篇】 涵盖 requests、beautifulsoup、selenium,文字版+视频版。1天掌握。 视频版教程:一天掌握python爬虫【

    2024年02月07日
    浏览(46)
  • 爬虫框架有Scrapy、BeautifulSoup、Selenium

    爬虫框架有Scrapy、BeautifulSoup、Selenium BeautifulSoup比Scrapy相对容易学习。 Scrapy的扩展,支持和社区比BeautifulSoup更大。 Scrapy应被视为蜘蛛,而BeautifulSoup则是Parser。 1.爬虫基础知识 在开始Python爬虫之前,需要先掌握一些基础知识。首先了解一下HTTP协议,掌握常见的请求方法和状

    2024年02月07日
    浏览(45)
  • 爬虫入门指南(7):使用Selenium和BeautifulSoup爬取豆瓣电影Top250实例讲解【爬虫小白必看】

    在本篇博客中,我们将使用 Python 的 Selenium 和 BeautifulSoup 库来实现一个简单的网页爬虫,目的是爬取豆瓣电影TOP250的数据,并将结果保存到Excel文件中。 Selenium 是一个自动化测试工具,可以模拟用户在浏览器中的交互操作。我们将使用 Selenium 来打开网页、获取网页源码。 B

    2024年02月12日
    浏览(54)
  • Python-BeautifulSoup用法

    BeautifulSoup4将复杂HTML文档转换成一个复杂的树形结构,每个节点都是Python对象,所有对象可以归纳为4种: Tag NavigableString BeautifulSoup Comment 我们可以利用 soup 加标签名轻松地获取这些标签的内容,这些对象的类型是bs4.element.Tag。但是注意,它查找的是在所有内容中的第一个符合要

    2024年02月08日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包