写在前面
在数据为王的时代,如何快速、准确地获取所需数据成为了各大企业面临的一大挑战。而亮数据的API产品,正是以新颖有趣的实际应用案例为突破口,为企业和用户提供了高效的数据获取解决方案。作为数据分析和处理的爱好者,我亲身体验了这些产品,并深感其带来的便捷与高效。下面我希望通过这篇文章与大家一同探讨这些产品的实际应用与优势。
一、网页解锁器API (Web Unlocker API)
在数据分析和处理的道路上,我们时常会遇到各种挑战。例如,有时我们需要获取某个受限网页的数据,但传统方法往往难以突破限制。但是,针对受限网页的数据获取难题,网页解锁器API无疑是我们的得力助手。它采用先进的技术方法,能够快速突破网页的限制,帮助我们轻松获取所需数据。如模拟真实用户行为,规避反机器人检测;高效且可扩展,满足用户不断增长的需求以及自动管理代理,无需用户操心等。
今天,我们就以获取豆瓣电影数据来对该功能做一个简单的演示。众所周知,豆瓣影评是全网最具有权威性的一个影评网站,虽然说它的采集策略十分简单,也没有什么反采集机制,但是一旦我们频繁的获取数据,就会封禁我们的ip,同时会进行机器人检测,也就是让我们进行验证,类似于下图所示。
为了有效规避这类问题的发生,网页解锁器API就派上了很大的用场,接下来我们就来一起体验下该功能的强大之处。
首先,进入网址:https://www.bright.cn/products/web-unlocker,注册一个账号,这里推荐可以使用谷歌登录。
然后,选择Web Unlocker API功能,点击Get Started,开始创建网页解锁器API通道。
紧接着,配置好通道名称以后,点击Add,添加该通道,点击YES或回车成功创建。
创建成功以后,会弹出网页解锁器API使用的示例代码:
我们可以直接点击 Copy code 复制该示例代码使用,但是一般我开发喜欢使用Pycharm的python解释器环境,所以我将复制的代码通过https://www.lddgo.net/convert/curl-to-code代码转换网站转换为了python代码。
当然,官方API文档里面其实也给了python代码的示例,具体操作如下:
我们点击示例代码右上角的API Documentation,进入官方的API文档,可以看到右边有各种语言代码的示例,但是唯一不好的点就是,里面的好多参数我们需要修改为自己的参数,比如API Token他这里就需要我们自己填写一下,而通过转换得到的代码可以直接运行。
接下来,我们打开pycharm试一下该示例代码是否可以正常运行。
可以看到,官方给的示例代码是可以正常获取示例网站中的数据。接下来,我们就要开始进行我们的豆瓣影评爬取了。首先进入豆瓣影评官网,将url复制下来,比如说选一部最近比较火的 《电幻国度》 作为爬取对象。
复制url以后,替换代码中的url部分,记得这里替换的是json_data里面的url,而不是post请求里面的第一个url参数。
然后运行以后确实可以看到获取到了该电影影评的数据,接下来的工作就是数据处理部分了,而数据处理部分就简单多了,我们可以自己手搓,也可以交给AI处理。
这里我主要采用xpath来进行数据处理,代码如下:
python
from lxml import etree
import requests
import pandas as pd # 新增
import os # 可选:用于确保路径存在
headers = {
'Authorization': 'Bearer 65cbecf95ca6ea998aa513583460ac7754be79ef3e981f02064dfcfcff873444',
}
json_data = {
'zone': 'web_unlocker2',
'url': 'https://movie.douban.com/subject/27606065/comments?status=P',
'format': 'raw',
}
response = requests.post('https://api.brightdata.com/request', headers=headers, json=json_data)
response.raise_for_status()
tree = etree.HTML(response.text)
comment_list = tree.xpath('//div[@class="comment"]')
reviews = []
for comment_div in comment_list:
try:
name = comment_div.xpath('.//span[@class="comment-info"]/a/text()')[0].strip()
except:
name = ''
try:
content = comment_div.xpath('.//p[@class="comment-content"]/span[@class="short"]/text()')[0].strip()
content = ''.join(content.split())
except:
content = ""
try:
upvote = comment_div.xpath('.//span[@class="votes vote-count"]/text()')[0].strip()
except:
upvote = '0'
try:
time_str = comment_div.xpath('.//span[@class="comment-time"]/@title')[0]
except:
time_str = ''
try:
location = comment_div.xpath('.//span[@class="comment-location"]/text()')[0].strip()
except:
location = ''
try:
link = comment_div.xpath('.//div[@class="comment-report"]/@data-url')[0]
except:
link = ''
reviews.append({
'time': time_str,
'content': content,
'author': name,
'like': upvote,
'city': location,
'link': link,
})
# 保存为 CSV
df = pd.DataFrame(reviews)
output_path = 'douban_comments.csv'
df.to_csv(output_path, index=False, encoding='utf-8-sig') # 保证中文不乱码
print(f"评论数据已保存到 {output_path}")
可以看到获取的数据如下:
接下来我们可以应用这些数据做一系列的应用,比如说豆瓣影评情感分析等。
二、网页抓取API(Web Scrapers)
当我们需要从大量网页中抓取特定信息时,网页抓取API便派上了用场。它支持多种网页格式和协议,能够满足我们不同场景下的数据抓取需求。
网页抓取API是一种提供自动化网页抓取服务的接口,不仅支持专用的端点,而且还可以从120多个热门域名提取最新、结构化的网页数据,同时不用担心违规。
它的优势如下:
- 获取 JSON 或 CSV 格式的结构化数据
- 批量处理请求,单次最多可处理 5,000 个 URL
- 无限制的并发抓取任务
对于我来说最为方便的一点就是,它有现成的各大流行平台数据的自动抓取,比如说我最近想做一个对于海外tiktok用户评论的情感分析系统,那么我要采集tiktok的用户数据,通过该平台就可以简单的实现此操作。
下面我将演示下如何使用网页抓取API来实现tiktok用户数据的获取,首先点击tiktok,然后我们可以看到下面有tiktok各种信息获取的抓取器:
可以看到,tiktok的数据抓取器不仅能够通过URL收集帖子数据,而且还可以按照产品URL获取tiktok商店的产品信息。
这里我选择通过URL收集帖子数据,然后选择无代码抓取器服务:
点击下一个,进来以后发现这里已经帮我们添加好了几个tiktok地址,我们也可以自己添加想要获取的视频地址。
而点击词典我们查看这次爬取能够获取的信息有哪些,可以看到十分详细:
当一切都设置完毕以后,我们就可以点击 Start collecting ,正式开始自动数据获取。
这时候我们再返回,可以看到该抓取器已经在自动运行状态中,等它运行结束以后,我们重新进来以后点击日志,就可以看到下载按钮。
点击下载,选择我们想要保存的格式,这里我选择JSON格式,打开以后数据如下:
可以看到由于我只加入了两条视频的地址,所以抓取的数据量很少,如果大家想要抓取更多的数据,记得一定要将自己想要抓取的目标地址添加一下。
三、搜索引擎结果页(SERP)API
搜索引擎结果页API能够实时获取搜索引擎的搜索结果,为我们提供了丰富的数据来源。通过它,可以快速跟踪和分析搜索引擎中的相关信息,为我们的决策提供有力支持。
首先,跟网页解锁功能步骤一样,先创建搜索引擎结果页API通道。
进来以后,点击Playground,我们可以发现,该功能配置了一个搜索的功能,在这里我们可以选择使用谷歌浏览器还是Bing等浏览器,然后通过关键字搜索就可以获取到该搜索引擎结果页的网页结构化内容。
比如我搜索了豆瓣,然后左边出现了浏览器搜索的结果,右边出现了该网页的结构化信息,这一点真是特别的方便。
写在最后
以上就是我们本次亮数据产品的三大特色功能介绍,亮数据主要用于商用,需要的企业伙伴们可以根据我的实践快速上手操作一番。如果有实际需求的话也可以使用下面的促销链接直接进行购买使用。
促销一,全线API类产品七五折!促销代码APIS25
- 网页抓取API
- 网页解锁器API
- 搜索引擎结果页 API
促销二,亮数据目前仍有首次充值1比1赠送。充多少送多少,最高送500美金(相当 于半价),并可与其它所有促销叠加使用。
促销链接:https://www.bright.cn/?utm_source=brand&utm_campaign=brnd-mkt_cn_csdn_jhxl202504&promo=APIS25