Ownips+Coze海外社媒数据分析实战指南

本文涉及的产品
云解析DNS,个人版 1个月
全局流量管理 GTM,标准版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介: 本文介绍了在社交媒体数据采集和分析中的实践方法,特别强调了使用IPS代理的重要性。社交媒体如Twitter、Facebook等提供了丰富的数据资源。文章推荐了Ownips,这是一家提供高质量静态ISP代理服务的公司,用户可以选择需要的地区IP,并通过API或账号定向访问配置使用。文章通过一个Twitter趋势数据采集的案例,展示了如何利用Ownips代理IP和Python的requests库以及BeautifulSoup解析HTML来获取和解析数据。此外,文章还提到了如何在Coze平台上创建数据采集插件和Twitter Bot,以实现自动化和智能化的数据分析。

一、引言

在当今数字化浪潮中,社交媒体已深深融入人们的日常生活,并为企业、研究机构及个体研究者提供了宝贵的数据资源。从Twitter、Facebook、Instagram、LinkedIn等多元化平台高效采集数据,并进行深入分析,我们能够洞察用户行为、市场动向、公众情感等关键信息。这些信息对于市场分析、社会研究、品牌监控及其他各种分析工作至关重要。

本文旨在通过案例,探讨在社交媒体数据采集与分析的实战方法,为研究和工作提供坚实的数据支撑。

二、IPS代理简介

在采集社交媒体数据之前,我们首先要解决一个核心问题:社交媒体平台对IP的属性做判断,导致无法高效采集数据。一方面,社交媒体平台在推送时会确保所推送的内容与当地的文化和用户偏好相符合,另一方面,社交媒体平台会检测和阻止异常流量,一旦单次访问次数过多,便可能触发强制验证。

这时,ISP代理的引入就显得尤为重要。ISP代理首先能够模拟地区,有效保护在线隐私,减少被追踪和识别。其次,它能够确保用户顺畅地访问所需内容,提升数据获取的效率和便捷性。此外,ISP代理还提供了额外的安全层,能够过滤钓鱼网站和陷阱类的内容,有效防止恶意攻击和数据泄露的风险。在企业环境中,其还能够显著加快网页访问速度,降低带宽使用,同时通过负载均衡技术提升网络性能和稳定性。

三、应用实践——基于Ownips和coze的社媒智能分析助手

3.1、Twitter趋势数据采集

3.1.1、Twitter趋势数据接口分析

打开推特网页我们可以发现,整个趋势榜是一个div盒子。

每一个项目都是一个子div,包含在主div下。而文字部分包含在其中的一个span下。于是可以得到结构如下:

其中,

这个

容器包含了所有的趋势数据。每个趋势项由类似于

... 趋势内容 ...

的结构组成。例如,Celtics 表示一个趋势项,内容为“Celtics”。

依据结构可以写出xpath如下:

//div[@aria-label="时间线:探索"]/div/div//div/div/div/div/div[2]/span

测试一下,可以发现确实选出了所有的项目,后期只要提取其中的文字即可。

3.1.2、Ownips原生住宅IPS选取与配置

点击获取代理,即可使用刚才购买的IP,这里支持两种使用方式,一种是通过API自动获取,一种是通过设置账号定向访问。这里我们先选择API方式。选定国家和地区,点击生成链接即可在右侧得到登录链接。接下来我们尝试获取代理。点击账户认证获取,选择国家和地区,之后要选择认证账户,这里我们先去创建一个。

在账密认证中选择认证账户管理,选择添加。设置好账号密码即可。

回到账户获取代理中,选择刚才创建的账号,即可使用。

3.1.3、数据采集

这里我们采用python的request库获取网页,并通过xpath解析页面数据,最后保存为txt文件。

首先,导入必要的模块,包括requests用于发送HTTP请求,BeautifulSoup用于解析HTML,_thread用于多线程处理,和time用于时间延迟。之后需要设置模拟浏览器的请求头和目标URL。

import requests as rq
from bs4 import BeautifulSoup
import _thread
import time
  
headers = {
     "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/115.0",
 }
api = 'https://api-proxy.ownips.com/getIsp?num=1&type=1&lb=1&sb=0&flow=1®ions=tw&attribute=native_isp'
url = 'https://x.com/explore/tabs/keyword'

procPage函数使用BeautifulSoup解析HTML内容,其中,首先通过BeautifulSoup(page, 'html.parser')来创建一个soup对象,这个对象会解析传入的HTML页面page,然后,使用xpath方法来定位具有特定aria-label属性的子元素。

def procPage(page):
    soup = BeautifulSoup(page, 'html.parser')
    divs = soup.xpath('//div[@aria-label="时间线:探索"]/div/div')
    r = []
    for i in range(2, len(divs)):
        r.append(divs[i].xpath('//div/div/div/div/div[2]/span//text()'))
    print("解析完毕")
    return r

testUrl函数定义了一个名为 proxy 的字典,用于设置代理服务器信息,通过代理发送GET请求到目标URL,这个请求包含了之前定义的 headers 字典,用于模拟浏览器发送请求,以避免被目标网站拒绝。最后,函数调用 procPage 函数来解析网页内容。它将 res.content(即响应内容的二进制数据)作为参数传递给 procPage ,并将结果写入一个文件。此处隐去ip消息。

def testUrl():
     proxy = {'http': 'http://yyyyyyy:yyy3214@38.182.xxx.xxx:2333',
              'https': 'https://yyyyyyy:yyy3214@38.182.xxx.xxx:2333',
              }
     try:
         res = rq.get(url=url, headers=headers, proxies=proxy)
         print("获取成功,正在解析")
         d = procPage(res.content)
         with open('trend.txt', 'w', encoding='utf-8') as f:
            f.write(str(d))
  
    except Exception as e:
        print("访问失败", e)

主线程启动10个并发线程,每个线程调用testUrl,并在每个线程启动后延迟0.1秒,最终主线程延迟10秒以确保所有子线程完成任务。

for port in range(0, 10):
     _thread.start_new_thread(testUrl, ())
     time.sleep(0.1)
  
 time.sleep(10)

运行一下,得到结果如下:

完整代码如下:

import requests as rq
from bs4 import BeautifulSoup
import _thread
import time
  
headers = {
     "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/115.0",
 }
api = 'https://api-proxy.ownips.com/getIsp?num=1&type=1&lb=1&sb=0&flow=1®ions=tw&attribute=native_isp'
url = 'https://x.com/explore/tabs/keyword'
 
 
def procPage(page):
     soup = BeautifulSoup(page, 'html.parser')
     divs = soup.xpath('//div[@aria-label="时间线:探索"]/div/div')
     r = []
     for i in range(2, len(divs)):
         r.append(divs[i].xpath('//div/div/div/div/div[2]/span//text()'))
     print("解析完毕")
     return r
  
  
def testUrl():
     proxy = {'http': 'http://yyyyyyy:yyy3214@38.182.xxx.xxx:2333',
              'https': 'https://yyyyyyy:yyy3214@38.182.xxx.xxx:2333',
              }
     try:
         res = rq.get(url=url, headers=headers, proxies=proxy)
         print("获取成功,正在解析")
         d = procPage(res.content)
         with open('trend.txt', 'w', encoding='utf-8') as f:
             f.write(str(d))
  
     except Exception as e:
         print("访问失败", e)
  
  
  
for port in range(0, 10):
     _thread.start_new_thread(testUrl, ())
     time.sleep(0.1)
  
time.sleep(10)

除了趋势数据,将url 替换后,还可以采集以下数据:

3.2、基于Ownips和Coze的社媒智能助手

3.2.1、Ownips数据采集插件集成

设计好数据采集流程后,我们可以登录https://www.coze.com/home,进入coze官网,点击Personal-Plugins-Create plugin创建插件。

插件就是一个支持调用的服务端接口,可以将自己的 API 通过参数配置的方式快速创建一个插件,然后集成到应用中使用。这里在创建插件的基本信息窗口中,使用在Coze IDE中直接编程,然后IDE的develop runtime改为Python3。

然后为插件创建Tool工具,并将以上已经写好的数据采集脚本放到Tool的核心代码区中并点击发布,从而构建插件的核心功能,插件通过合理使用Ownips的ISP代理,可以更加实时高效和安全地采集Twitter社交媒体数据,为市场分析、学术研究、品牌监测等提供强有力的支持。

3.2.2、创建Twitter Bot智能体

创建好插件后,接下来创建Twitter Bot智能体,回到coze主页,点击Create bot创建智能体,然后选择在Personal工作区,使用AI生成图标,然后点击Confirm确认创建。

进入Bot操作界面后,首先在左侧为Twitter Bot智能体书写提示词,然后将刚刚创建好的插件配置上去,也可以添加一些工作流、图像流、触发器、开场白、Markdown 编辑器、用户问题建议、快捷指令等扩展功能。

以下是可以参考的提示词:

# 角色
你是一位社交媒体智能助手,擅长分析Twitter等社交媒体平台的趋势、热点和关键词,帮助用户洞悉社交媒体上的流行动态,并做出相应反应。
## 技能
### 技能1:社交媒体分析
- 连接到Twitter等社交媒体平台的API,实时监测社交平台的主要趋势。
### 技能2:数据分析
- 对采集的数据进行分析以识别热点和关键词。
### 技能3:模式识别
- 识别并追踪在推特上的热门话题和流行模式。
### 技能4:趋势预测
- 根据数据分析模型,预测未来可能出现的热点和趋势。
## 条件
- 在进行社交媒体分析的过程中,全程遵守社交媒体平台的使用条款和法律规定,保护用户隐私权。 
- 提供用户界面,方便用户访问和操作。
- 用户可以自定义通知,当相关趋势出现时推送通知。
================
你的目标是为用户节省时间,并提供效率高的信息流。适用于品牌营销、新闻媒体、市场研究等领域。你可以在启动智能助手之前,设置和配置连接到社交媒体平台的API,输入初始化数据,设定分析参数和关键词列表。并随后开启实时监测模式,获取首份趋势数据分析报告。

3.2.3、Twitter 趋势分析效果

创建好成功后,就可以开始使用了,这里可以针对Twitter采集的数据进行分析以识别热点和关键词,无论是市场趋势的预测,还是用户行为的洞察,coze都能为用户提供精准、及时的分析报告,效果如下。

借助Ownips的强大功能,用户们得以轻松访问并获取来自全球各地的全面且真实的数据;而coze的智能分析功能则能够帮助用户从这些数据中提炼出有价值的信息。Ownips与Coze智能分析功能的组合,为用户们提供了一个强大且全面的数据分析工具。无论是市场研究、舆情监测还是商业决策,这一组合都能够为用户提供准确、及时的数据支持,帮助他们更好地把握机遇,实现更大的价值。



相关文章
|
2月前
|
数据采集 存储 数据挖掘
Python 爬虫实战之爬拼多多商品并做数据分析
Python爬虫可以用来抓取拼多多商品数据,并对这些数据进行数据分析。以下是一个简单的示例,演示如何使用Python爬取拼多多商品数据并进行数据分析。
|
2月前
|
自然语言处理 小程序 数据挖掘
数据分析实战-Python实现博客评论数据的情感分析
数据分析实战-Python实现博客评论数据的情感分析
225 0
|
14天前
|
数据采集 数据可视化 数据挖掘
数据挖掘实战:使用Python进行数据分析与可视化
在大数据时代,Python因其强大库支持和易学性成为数据挖掘的首选语言。本文通过一个电商销售数据案例,演示如何使用Python进行数据预处理(如处理缺失值)、分析(如销售额时间趋势)和可视化(如商品类别销售条形图),揭示数据背后的模式。安装`pandas`, `numpy`, `matplotlib`, `seaborn`后,可以按照提供的代码步骤,从读取CSV到数据探索,体验Python在数据分析中的威力。这只是数据科学的入门,更多高级技术等待发掘。【6月更文挑战第14天】
50 11
|
15天前
|
数据采集 机器学习/深度学习 数据可视化
数据挖掘实战:Python在金融数据分析中的应用案例
Python在金融数据分析中扮演关键角色,用于预测市场趋势和风险管理。本文通过案例展示了使用Python库(如pandas、numpy、matplotlib等)进行数据获取、清洗、分析和建立预测模型,例如计算苹果公司(AAPL)股票的简单移动平均线,以展示基本流程。此示例为更复杂的金融建模奠定了基础。【6月更文挑战第13天】
65 3
|
19天前
|
JSON 数据挖掘 API
数据分析实战丨基于pygal与requests分析GitHub最受欢迎的Python库
数据分析实战丨基于pygal与requests分析GitHub最受欢迎的Python库
19 2
|
2月前
|
SQL 数据采集 存储
Hive实战 —— 电商数据分析(全流程详解 真实数据)
关于基于小型数据的Hive数仓构建实战,目的是通过分析某零售企业的门店数据来进行业务洞察。内容涵盖了数据清洗、数据分析和Hive表的创建。项目需求包括客户画像、消费统计、资源利用率、特征人群定位和数据可视化。数据源包括Customer、Transaction、Store和Review四张表,涉及多个维度的聚合和分析,如按性别、国家统计客户、按时间段计算总收入等。项目执行需先下载数据和配置Zeppelin环境,然后通过Hive进行数据清洗、建表和分析。在建表过程中,涉及ODS、DWD、DWT、DWS和DM五层,每层都有其特定的任务和粒度。最后,通过Hive SQL进行各种业务指标的计算和分析。
335 1
Hive实战 —— 电商数据分析(全流程详解 真实数据)
|
2月前
|
数据采集 数据可视化 数据挖掘
利用 DataFrame 进行数据分析:实战案例解析
【5月更文挑战第19天】DataFrame是数据分析利器,本文通过一个销售数据案例展示其使用:读取数据创建DataFrame,计算产品总销量,分析月销售趋势,找出最畅销产品,并进行数据可视化。此外,还提及数据清洗和异常处理。DataFrame为数据处理、分组计算和可视化提供便利,助力高效数据分析。
55 3
|
2月前
|
算法 搜索推荐 数据挖掘
数据挖掘实战 —— 抖音用户浏览行为数据分析与挖掘(续)
数据挖掘实战 —— 抖音用户浏览行为数据分析与挖掘(续)
92 1
|
2月前
|
机器学习/深度学习 数据采集 算法
数据挖掘实战 —— 抖音用户浏览行为数据分析与挖掘(二)
数据挖掘实战 —— 抖音用户浏览行为数据分析与挖掘(二)
108 1
|
2月前
|
数据可视化 搜索推荐 数据挖掘
数据挖掘实战 —— 抖音用户浏览行为数据分析与挖掘(一)
数据挖掘实战 —— 抖音用户浏览行为数据分析与挖掘(一)
345 1

热门文章

最新文章