BeautifulSoup的基本功能介绍

简介: BeautifulSoup基本介绍

在日常爬虫工作中会遇到很多数据对比的测试任务,在后端接口有做数据加密,或接口有做鉴权等情况下,我们再从后端去取参数,耗费的时间成本就会增加。网上查了下,我们可以通过走前端页面上去获取数据,简单学习了下,居然可以使用requests + BeautifulSoup 以及其他一些工具包来实现该功能。
关于BeautifulSoup爬的使用这里我们可以简单的介绍下,BeautifulSoup是python的一个库,最主要的功能是从网页抓取数据,在抓取的过程中会使用到一些功能。
1、请求头herders的使用,参考示例如下:

headers={'User-Agent': 'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.110 Safari/537.36','referer':"www.mmjpg.com" }
all_url = 'http://www.mmjpg.com/' 
'User-Agent':请求方式  
'referer':从哪个链接跳转进来的

2、解析获取的页面

Soup = BeautifulSoup(start_html.text, 'lxml')
BeautifulSoup:解析页面
lxml:解析器
start_html.text:页面的内容

3、获取目标内容

<a href =# >内容</a>
a[i]/get_text():获取第i个a标签里面的内容


爬取数据案例如下,这里以访问豆瓣为需求,因为豆瓣的反爬机制都是比较严的,并且需要登录,这里只是实践不做大量数据抓取,所以只在代码里面添加了代理IP。

#! -*- encoding:utf-8 -*-
    import requests
    import random
    # 要访问的目标页面
    targetUrl = "https://www.baidu.com/"
    # 要访问的目标HTTPS页面
    # targetUrl = "https://www.baidu.com/"
    proxyHost = "t.16yun.cn"
    proxyPort = "31111"
    # 代理验证信息
    proxyUser = "udfejfhk"
    proxyPass = "568547"
    proxyMeta = "http://%(user)s:%(pass)s@%(host)s:%(port)s" % {
        "host" : proxyHost,
        "port" : proxyPort,
        "user" : proxyUser,
        "pass" : proxyPass,
    }
    # 设置 http和https访问都是用HTTP代理
    proxies = {
        "http"  : proxyMeta,
        "https" : proxyMeta,
    }
    #  设置IP切换头
    tunnel = random.randint(1,10000)
    headers = {"Proxy-Tunnel": str(tunnel)}
    resp = requests.get(targetUrl, proxies=proxies, headers=headers)
    print resp.status_code
    print resp.text


BeautifulSoup虽然作为一个爬虫工具还是有很多的用处的,这里只是对功能做个简单介绍和认识,希望能对大家有帮助,有更优的实现方式可以自己再添代码实现。另外,BeautifulSoup还有很多功能,比如修改删除功能,这些功能可以再日后的学习中慢慢了解。

若有收获,就点个赞吧


相关文章
|
2月前
|
XML 数据采集 API
MechanicalSoup与BeautifulSoup的区别分析
MechanicalSoup与BeautifulSoup的区别分析
50 2
MechanicalSoup与BeautifulSoup的区别分析
|
7月前
|
XML 数据格式
Beautiful Soup 库提供了许多常用的方法
【5月更文挑战第10天】Beautiful Soup库用于HTML/XML文档解析和操作,提供初始化、查找、提取信息及修改文档的方法。如:find()和find_all()查找元素,.string或.get_text()获取文本,.attrs获取属性,.append()、.insert()、.remove()、.replace_with()、.unwrap()和.wrap()修改文档结构。还有.prettify()格式化输出,.encode()和.decode()处理编码。这些功能组合使用可灵活处理文档信息。
42 1
WK
|
3月前
|
XML 前端开发 API
Beautiful Soup有哪些支持功能
Beautiful Soup是一个强大的Python库,用于从HTML或XML文件中提取数据。它支持多种解析器,如html.parser、lxml和html5lib,能灵活应对不同格式的文档。通过丰富的API,可以轻松遍历解析树,按标签名、属性或字符串内容搜索和提取数据。此外,Beautiful Soup还支持简单的树修改操作,处理不同编码的文档,并具备良好的容错性。从4.0版本起,它引入了CSS选择器,使搜索更加便捷。详尽的官方文档和广泛的社区支持使其成为处理网页数据的理想选择。
WK
56 1
|
7月前
|
数据采集 XML 前端开发
Python爬虫:BeautifulSoup
这篇内容介绍了Python中BeautifulSoup库的安装和使用。首先,通过在命令行输入`pip install bs4`进行安装,或使用清华源加速。接着讲解BeautifulSoup的基本概念,它是一个用于数据解析的工具,便于处理HTML和XML文档。与正则表达式不同,BeautifulSoup提供更方便的方式来查找和操作标签及其属性。 文章详细阐述了BeautifulSoup的两个主要方法:`find`和`find_all`。`find`方法用于查找单个指定标签,可结合属性字典进行精确选择;`find_all`则返回所有匹配标签的列表。通过这些方法,可以方便地遍历和提取网页元素。
74 0
|
7月前
|
XML 数据格式
Beautiful Soup 库有哪些常用的方法
Beautiful Soup 库有哪些常用的方法
136 1
|
7月前
|
数据采集 XML 前端开发
Python爬虫 Beautiful Soup库详解#4
BeautifulSoup基础,节点选择器,方法选择器,css选择器【2月更文挑战第14天】
99 1
|
7月前
|
XML JavaScript 数据格式
Beautiful Soup 库是如何工作的
【2月更文挑战第22天】【2月更文挑战第68篇】Beautiful Soup 库是如何工作的
56 0
|
XML 数据格式 Python
BeautifulSoup文档1-简介、安装和使用
BeautifulSoup文档1-简介、安装和使用
118 0
BeautifulSoup的基本使用
要使用BeautifulSoup4需要先安装lxml,再安装bs4
BeautifulSoup的基本使用
|
Python
Beautiful Soup库的介绍
本节中将介绍如何使用 Beautiful Soup 来解析 HTML 以获取我们想要的信息。
116 0