Python - 爬虫小白入门大佬勿喷 - 百度结果集解析

前言

独行于尘世的轨迹,寻觅着灵魂的归宿,月影万变,寻一缕不变的柔光。

前置条件

默认有一定的Python基础
电脑存在Python环境
建议使用Py Charm IDE 官方推荐工具

依赖库

requests 简介

易用性:requests的设计哲学是让HTTP请求尽可能地简单。通过几行代码,你就可以发送GET、POST等HTTP请求,获取服务器响应。
全面的功能:支持自动处理重定向、cookies、认证以及各种HTTP方法,同时提供了丰富的请求和响应对象,允许精细控制和解析。
安装简便:只需一条命令pip install requests,即可在Python环境中安装requests库,快速开始网络编程。

BeautifulSoup4 简介

易用性:BeautifulSoup的API设计简洁,即便是编程新手也能快速上手,轻松地选择和操作文档中的元素。
智能解析:它能够自动将输入文档转换为Unicode编码,输出文档转换为UTF-8编码,处理不规范的HTML或XML文档时表现出极高的容错性。
多解析器支持:BeautifulSoup本身不直接解析文档,而是依赖于外部解析器,如lxml(推荐)、html5lib或Python的标准库html.parser,这给予用户灵活性选择最适合的解析方案。
强大的选择器:通过结合使用标签名、属性和CSS选择器,开发者可以精确地定位到需要的文档部分,提取数据。
文档导航:提供了丰富的属性和方法来遍历文档树,如.find(), .find_all(), .select()等,使得遍历和访问文档结构变得简单。

解析过程

安装依赖库


# 安装bs4 
pip install beautifulsoup4
# 安装 requests
pip install requests

# 如果下载速度过慢 可以使用第三源安装 速度杠杠的 清华大学py高速源
# 安装bs4 
pip install beautifulsoup4 -i https://pypi.tuna.tsinghua.edu.cn/simple
# 安装 requests
pip install requests -i https://pypi.tuna.tsinghua.edu.cn/simple

代码示例

效果图

在这里插入图片描述

代码全片段(可直接运行)

# coding:utf-8
import requests
from bs4 import BeautifulSoup
from datetime import datetime


def get_curr_date():
    current_time = datetime.now()
    formatted_time = current_time.strftime("%Y-%m-%d %H:%M:%S")
    return formatted_time

def pp(log):
    print(f"{get_curr_date()} - {log}")

headers = {
    "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7",
    "Accept-Language": "zh-CN,zh;q=0.9",
    "Cache-Control": "no-cache",
    "Connection": "keep-alive",
    "Pragma": "no-cache",
    "Upgrade-Insecure-Requests": "1",
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/132.0.0.0 Safari/537.36",
}

cookies = {
}

url = "https://www.baidu.com/s"

params = {
    "wd": "我要学爬虫"
}

pp("******************开始采集******************")
response = requests.get(url, headers=headers, cookies=cookies, params=params,timeout=10)
pp("******************采集完成开始解析******************")

pp("******************解析完成开始打印******************")
html = response.text
f_html = BeautifulSoup(html,'html.parser')

aa = f_html.select("h3.tts-title>a")

for a in aa:
    pp(f"title : {a.text} - url:{a.get('href')}")

pp(f"******************打印完成 ,数量:{len(aa)}******************")

难点

代码属于入门级别,难度入门,需要注意的需要有一定的网络协议基础、前端h5基础等

结束语

文章代码作者自编,可直接运行👽👽👽
运行有问题可联系作者评论交流🤭🤭🤭
风是自由的,你也是自由🤠🤠🤠
欢迎一起交流学习☠️☠️☠️
有帮助请留下足迹 一键三连🥰🥰🥰
爬虫大佬勿喷,欢迎指正问题😈😈😈
后面会做一系列的爬虫文章,请持续关注作者🤡🤡🤡。

### LlamaIndex 多模态 RAG 实现 LlamaIndex 支持多种数据类型的接入与处理,这使得它成为构建多模态检索增强生成(RAG)系统的理想选择[^1]。为了实现这一目标,LlamaIndex 结合了不同种类的数据连接器、索引机制以及强大的查询引擎。 #### 数据连接器支持多样化输入源 对于多模态数据的支持始于数据收阶段。LlamaIndex 的数据连接器可以从多个异构资源中提取信息,包括但不限于APIs、PDF文档、SQL数据库等。这意味着无论是文本还是多媒体文件中的内容都可以被纳入到后续的分析流程之中。 #### 统一化的中间表示形式 一旦获取到了原始资料之后,下一步就是创建统一而高效的内部表达方式——即所谓的“中间表示”。这种转换不仅简化了下游任务的操作难度,同时也提高了整个系统的性能表现。尤其当面对复杂场景下的混合型数据时,良好的设计尤为关键。 #### 查询引擎助力跨媒体理解能力 借助于内置的强大搜索引擎组件,用户可以通过自然语言提问的形式轻松获得所需答案;而对于更复杂的交互需求,则提供了专门定制版聊天机器人服务作为补充选项之一。更重要的是,在这里实现了真正的语义级关联匹配逻辑,从而让计算机具备了一定程度上的‘认知’功能去理解和回应人类意图背后所蕴含的意义所在。 #### 应用实例展示 考虑到实际应用场景的需求多样性,下面给出一段Python代码示例来说明如何利用LlamaIndex搭建一个多模态RAG系统: ```python from llama_index import GPTSimpleVectorIndex, SimpleDirectoryReader, LLMPredictor, PromptHelper, ServiceContext from langchain.llms.base import BaseLLM import os def create_multi_modal_rag_system(): documents = SimpleDirectoryReader(input_dir='./data').load_data() llm_predictor = LLMPredictor(llm=BaseLLM()) # 假设已经定义好了具体的大型预训练模型 service_context = ServiceContext.from_defaults( chunk_size_limit=None, prompt_helper=PromptHelper(max_input_size=-1), llm_predictor=llm_predictor ) index = GPTSimpleVectorIndex(documents, service_context=service_context) query_engine = index.as_query_engine(similarity_top_k=2) response = query_engine.query("请描述一下图片里的人物表情特征") print(response) ``` 此段脚本展示了从加载本地目录下各类格式文件开始直到最终完成一次基于相似度排序后的top-k条目返回全过程。值得注意的是,“query”方法接收字符串参数代表使用者想要询问的内容,而在后台则会自动调用相应的解析模块并结合先前准备好的知识库来进行推理计算得出结论。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

果核 JAVA

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值