利用Python进行网页抓取与AIGC实践:豆瓣电影榜单分析自动化

前言

随着网络信息的爆炸性增长,数据抓取成为了获取宝贵资源的重要手段之一。本文将结合Python的requests库与BeautifulSoup库,演示如何自动化抓取豆瓣电影排行榜的数据,并通过阿里云的通义千问(Qwen)大模型,实现对抓取数据的进一步处理与解析,展示AI生成内容(AIGC)的实用价值。让我们一起探索技术如何让数据处理变得更加高效和智能化。

技术栈简介

  • requests: Python中最常用的HTTP库,用于发送HTTP请求,获取网页内容。
  • BeautifulSoup: HTML和XML解析库,帮助我们从网页源码中提取所需信息,构建DOM树进行便捷查询。
  • 通义千问(Qwen) : 阿里云开发的大型语言模型,能够理解和生成高质量的多领域文本,适用于各类文本生成任务。

实战演练

第一步:网页抓取

首先,我们通过requests.get()方法,配合伪装的User-Agent,成功向豆瓣电影榜单发起请求,获取了网页HTML内容。接着,利用BeautifulSoup解析这些内容,选取了页面中包含电影条目的特定DOM元素。这一步骤展示了基础的网页爬虫技术,是数据收集的起点。

yaml 复制代码
# python http请求库
!pip install requests
# python dom 查找
!pip install beautifulsoup4
ini 复制代码
Python
import requests
from bs4 import BeautifulSoup

def fetch_movie_list(url):
    headers = {'User-Agent': 'Mozilla/5.0 ...'}
    response = requests.get(url, headers=headers)
   
   if response.status_code == 200:
        soup = BeautifulSoup(response.text, 'html.parser')
        movies = soup.select('#wrapper #content .article .item')
        return ''.join([movie.prettify() for movie in movies])
    else:
        print("Failed to retrieve content")

输出结果

第二步:构造Prompt

这段代码创建了一个字符串prompt,其中包含了之前从豆瓣电影排行榜抓取到的电影列表信息(通过movies变量)。紧随其后是一段指令文本,明确告诉AI模型需要执行的操作:从给定的电影列表中提取每部电影的名称、封面链接、简介、评分和评论人数,并要求模型将这些数据组织成一系列JSON对象,每个对象对应一部电影的信息,最后构成一个JSON数组返回。

ini 复制代码
prompt = f""" {movies} 这是一段电影列表,请获取电影名(name),封面连接(picture)
,简介(info),评分(score),评论人数(commentsNumber),请使用括号的单词作为属性名,以
JSON数组的格式返回 """ 
print(prompt)
第三步:数据解析与AIGC介入

抓取到的原始HTML数据虽富含信息,但直接阅读不便。我们利用通义千问(Qwen),将抓取的电影列表信息转换成结构化的JSON格式,提取出每部电影的名称、封面链接、简介、评分及评论人数。通过构造特定的指令性Prompt,Qwen能理解并执行高级文本处理任务,如提取关键信息、格式化输出等,展现了AIGC的强大灵活性和实用性。 注意: 使用的通义千问API(通过dashscope库)需要您已经注册了阿里云账号并获取了相应的API密钥。 开通和获取通义千问的API-KEY教程如下:

如何开通DashScope并创建API-KEY_模型服务灵积(DashScope)-阿里云帮助中心 (aliyun.com)

yaml 复制代码
#下载通义千问
!pip install dashscope
ini 复制代码
Python
dashscope.api_key = 'your_api_key_here'
def call_qwen_with_prompt(prompt):
    messages = [{'role': 'user', 'content': prompt}]
    response = dashscope.Generation.call(dashscope.Generation.Models.qwen_turbo, messages=messages, result_message='messages')
    print(response)

prompt = f"{movies} 这是一段电影列表,请获取电影名(name),封面连接(picture),简介(info),评分(score),评论人数(commentsNumber),请使用括号的单词作为属性名,以JSON数组的格式返回"
call_qwen_with_prompt(prompt)

结果展示

结论

本文通过一个简单的实战案例,展示了从网页数据抓取到利用AIGC技术进行高级文本处理的全过程。Python以其丰富的库生态和易用性,成为数据采集和预处理的理想工具,而结合通义千问等大型语言模型,可以进一步挖掘数据价值,实现信息的快速提取与转化。这种技术组合不仅提升了数据分析的效率,也为内容创作、信息摘要等领域开启了新的可能

若有不足,恳请各位大佬指出

相关推荐
Json_1817901448032 分钟前
电商拍立淘按图搜索API接口系列,文档说明参考
前端·数据库
风尚云网1 小时前
风尚云网前端学习:一个简易前端新手友好的HTML5页面布局与样式设计
前端·css·学习·html·html5·风尚云网
木子02041 小时前
前端VUE项目启动方式
前端·javascript·vue.js
GISer_Jing1 小时前
React核心功能详解(一)
前端·react.js·前端框架
捂月1 小时前
Spring Boot 深度解析:快速构建高效、现代化的 Web 应用程序
前端·spring boot·后端
深度混淆1 小时前
实用功能,觊觎(Edge)浏览器的内置截(长)图功能
前端·edge
Smartdaili China1 小时前
如何在 Microsoft Edge 中设置代理: 快速而简单的方法
前端·爬虫·安全·microsoft·edge·社交·动态住宅代理
秦老师Q1 小时前
「Chromeg谷歌浏览器/Edge浏览器」篡改猴Tempermongkey插件的安装与使用
前端·chrome·edge
滴水可藏海1 小时前
Chrome离线安装包下载
前端·chrome
m51271 小时前
LinuxC语言
java·服务器·前端