分享好友 最新动态首页 最新动态分类 切换频道
AI网络爬虫:批量爬取AI导航网站Futurepedia数据
2024-12-26 12:41

Futurepedia致力于使AI技术对各行各业的专业人士更加可理解和实用,提供全面的AI网站和工具目录、易于遵循的指南、每周新闻通讯和信息丰富的YouTube频道,简化AI在专业实践中的整合。如何把Futurepedia上的全部AI网站数据爬取下来呢

AI网络爬虫:批量爬取AI导航网站Futurepedia数据

网站一页有12个AI工具介绍,根据网站说明:We've categorized 5571 AI tools into 10 categories.,估计一共有465页。

每页的请求网址是:https://www.futurepedia.io/api/search

参数是

{"verified":false,"sort":"popular","feature":[],"pricing":[],"q":"","page":3}

{"verified":false,"sort":"popular","feature":[],"pricing":[],"q":"","page":4}

在ChatGPT中输入提示词

你是一个Python编程专家,完成一个Python脚本编写的任务,具体步骤如下

在F盘新建一个Excel文件:futurepediaio20240609.xlsx

爬取网页

请求网址:

https://www.futurepedia.io/api/search

请求方法:

POST

状态代码:

200 OK

远程地址:

127.0.0.1:10809

引荐来源网址政策:

strict-origin-when-cross-origin

请求载荷:{"verified":false,"sort":"popular","feature":[],"pricing":[],"q":"","page":{pagenumber}}

{pagenumber}从1开始,以1递增,以465结束

获取网页的响应,这是一个嵌套的json数据

获取json数据中“data”键的值,这也是一个json数据

提取每个json数据中所有键的名称,写入Excel文件的表头,所有键对应的值,写入Excel文件的数据列

保存Excel文件

注意:每一步都输出信息到屏幕

每爬取1页数据后暂停5-9秒

需要对 JSON 数据进行预处理,将嵌套的字典和列表转换成适合写入 Excel 的格式,比如将嵌套的字典转换为字符串。

要设置请求标头

Accept:

application/json, text/plain, **',

'Accept-Encoding': 'gzip, deflate, br, zstd',

'Accept-Language': 'zh-CN,zh;q=0.9,en;q=0.8',

'Content-Length': '77',

'Content-Type': 'application/json',

'Origin': 'https://www.futurepedia.io',

'Priority': 'u=1, i',

'Referer': 'https://www.futurepedia.io/?sort=popular',

'Sec-Ch-Ua': '"Google Chrome";v="125", "Chromium";v="125", "Not.A/Brand";v="24"',

'Sec-Ch-Ua-Mobile': '?0',

'Sec-Ch-Ua-Platform': '"Windows"',

'Sec-Fetch-Dest': 'empty',

'Sec-Fetch-Mode': 'cors',

'Sec-Fetch-Site': 'same-origin',

'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36'

}

# 初始页码

page_number = 1

headers_written = False

# 数据处理函数:将嵌套的字典或列表转换为字符串

def clean_data(value):

if isinstance(value, (dict, list)):

return json.dumps(value, ensure_ascii=False) # 确保非 ASCII 字符被正确编码

return value

# 爬取数据

while page_number <= 465:

print(f"正在爬取第 {page_number} 页的数据...")

# 请求载荷

payload = {

"verified": False,

"sort": "popular",

"feature": [],

"pricing": [],

"q": "",

"page": page_number

}

# 发送 POST 请求

try:

response = requests.post(url, headers=request_headers, json=payload)

except Exception as e:

print(f"请求失败,错误信息:{e}")

break

# 检查请求是否成功

if response.status_code != 200:

print(f"请求失败,状态码:{response.status_code}")

break

# 获取 JSON 数据

data = response.json()

products = data.get("data", [])

if products:

if not headers_written:

# 获取 JSON 数据中的键作为表头

headers = set()

for product in products:

headers.update(product.keys())

headers = list(headers)

ws.append(headers)

headers_written = True

# 将数据写入 Excel

for product in products:

cleaned_product = [clean_data(product.get(header, "")) for header in headers]

ws.append(cleaned_product)

# 保存 Excel 文件

wb.save(file_path)

print(f"第 {page_number} 页的数据已写入 Excel 文件。")

# 随机暂停 5-9 秒

sleep_time = random.randint(5, 9)

print(f"暂停 {sleep_time} 秒...")

time.sleep(sleep_time)

else:

print(f"第 {page_number} 页没有数据。")

break

# 更新页码

page_number += 1

print(f"数据爬取完成,文件已保存至:{file_path}")

最新文章
ACDSee 2025 旗舰版 18.0.0.3996 正式版
ACDSee旗舰版具有快速启动、模式切换、使用关键词和类别、RAW 解码和数据库维护等功能,让您能够专注于手头任务。高动态范围成像 (HDR) 是数码摄影中的一个技巧,旨在通过合并多个图像来实现宽广的动态亮度范围。利用 HDR工具将曝光度不同
2024年十大免费站推广入口:如何通过免费渠道提升品牌曝光与客户转化
随着互联网的发展,越来越多的小企业和个人创业者都在寻求通过互联网推广自己的品牌、产品或服务。然而,许多营销者面临着一个问题,那就是如何在有限的预算下有效地进行推广。幸运的是,2024年已经出现了不少免费的推广平台,它们不仅能帮
2024-2029年中国粪便菌群移植(FMT)行业市场前瞻与投资战略规划分析报告
权威数据来源一手调研资料调研方法直接观察法(实地走访、网络观察)访谈调查法(个别面访、集体面访、电话访谈、视频访谈、小组座谈)问券调查法(在线问券、电子邮件问券、入户分发等)会议调查法(参加博览会、展览会、高峰论坛、研修会
AI副业玩法:开启你的智能赚钱之路!
前言 在这个数码时代,人工智能(AI)已经不仅仅是科技巨头的专利,它逐渐渗透到我们生活的方方面面。如今,越来越多的人开始利用AI技术进行副业尝试,既拓宽了收入来源,也提升了自我技能。那
2021年工作报告词频词云分析
程序主要分为三个步骤,第一个步骤是对报告文本进行数据处理,做一个词语切割和词频统计的工作。第二个步骤是对词频统计的结果,进行词云图可视化处理,绘制出我们需要的词云图。第三个步骤选取前面的一些关键词进行柱状图或饼图折线图等展
2024年十一月房山区政府网站运行数据报告
  一、整体情况  房山区政府门户网站2024年11月访问次数为145867人次,日均访问次数为4862人次/日;页面浏览量(PV)为634589页,日均页面浏览量(PV)为21153页/日,平均网页浏览数为4.35页/人次;访问人数为114121人,人均访问频率为
java 汉字排序_java实现中文汉字的首字母排序
java中可以排序的工具类和接口共有五个SortedMap 、SortedSet、TreeMap 、TreeSet和Collections,Collections中需要显式调用sort()方法。事例如下:import java.util.List;import java.util.ArrayList;import java.util.Arrays
2004新澳正版免费大全,最新答案解释落实_XE版38.822
2004新澳正版免费大全是一个集合了新西兰和澳大利亚地区最新、最全正版资源的平台。它不仅提供了各类正版软件、游戏、音乐、电影等资源的下载服务,还涵盖了教育、科研、商业等多个领域的正版资料。用户可以在这里找到所需的正版资源,享受
360极速浏览器2024手机最新版 v3.2.0.200安卓版
360极速浏览器是一款由北京奇虎科技有限公司开发的极速手机浏览器。这款浏览器主界面简洁无广告,为用户提供了三种自选主页,可以在搜索主页、网站主页、新闻主页之间自由切换。并且该浏览器还拥有超多且实用的网络工具箱,用户可以根据自
5个老司机才知道的资源网站,20T硬盘都不够用,所有资源免费下!
如今不论是信息还是资源都是共享的时代,在平时会有很多人上网去寻找自己所需的资源。当然也并不是所有的资源或者素材都能够找到,今天小编特意整合了几个令人流连忘返的网站,从此不再上百度找资源。一、万盘搜索一款强大的网盘搜索网站整
相关文章
推荐文章
发表评论
0评