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还有很多功能,比如修改删除功能,这些功能可以再日后的学习中慢慢了解。

若有收获,就点个赞吧


相关文章
|
人工智能 移动开发 Java
Android Studio插件版本与Gradle 版本对应关系
Android Studio插件版本与Gradle 版本对应关系
4076 0
Android Studio插件版本与Gradle 版本对应关系
|
Java
Mac下安装JDK11(国内镜像)
Mac下安装JDK11(国内镜像)
8103 0
|
8天前
|
云安全 监控 安全
|
13天前
|
机器学习/深度学习 人工智能 自然语言处理
Z-Image:冲击体验上限的下一代图像生成模型
通义实验室推出全新文生图模型Z-Image,以6B参数实现“快、稳、轻、准”突破。Turbo版本仅需8步亚秒级生成,支持16GB显存设备,中英双语理解与文字渲染尤为出色,真实感和美学表现媲美国际顶尖模型,被誉为“最值得关注的开源生图模型之一”。
1366 8
|
6天前
|
人工智能 安全 前端开发
AgentScope Java v1.0 发布,让 Java 开发者轻松构建企业级 Agentic 应用
AgentScope 重磅发布 Java 版本,拥抱企业开发主流技术栈。
441 12
|
18天前
|
人工智能 Java API
Java 正式进入 Agentic AI 时代:Spring AI Alibaba 1.1 发布背后的技术演进
Spring AI Alibaba 1.1 正式发布,提供极简方式构建企业级AI智能体。基于ReactAgent核心,支持多智能体协作、上下文工程与生产级管控,助力开发者快速打造可靠、可扩展的智能应用。
1241 43