Tokopedia 是印度尼西亚最大的电子商务平台之一,拥有 90 多万活跃用户和 350 亿月访问量。该平台的产品种类繁多,从电子产品、时尚、杂货到个人护理。对于企业和开发者来说,抓取 Tokopedia 数据可以让你深入了解产品趋势、定价策略和客户偏好。
Tokopedia 使用 JavaScript 来呈现其内容;传统的抓取方法不起作用。 爬虫库 Crawling API 通过无缝处理 JavaScript 呈现的内容来提供帮助。在本教程中,您将学习如何使用 Python 和 Crawlbase 抓取 Tokopedia 搜索列表和产品页面中的产品名称、价格和评级。
让我们开始吧!
目录 为什么要抓取 Tokopedia 数据? 从 Tokopedia 中提取的关键数据点 爬虫库 Crawling API 用于 Tokopedia 抓取 设置 Python 环境 抓取 Tokopedia 搜索列表 检查 HTML 中的 CSS 选择器 编写搜索列表抓取工具 处理 Tokopedia 中的分页 将数据存储在 JSON 文件中 完整的代码 抓取 Tokopedia 产品页面 检查 HTML 中的 CSS 选择器 编写产品页面抓取工具 将数据存储在 JSON 文件中 完整的代码 总结 常见问题 为什么要抓取 Tokopedia 数据? 抓取 Tokopedia 数据对企业和开发者大有裨益。作为印度尼西亚最大的电子商务平台之一,Tokopedia 拥有大量有关产品、价格和客户行为的信息。通过提取这些数据,您可以在在线市场上取得领先地位。
人们选择从 Tokopedia 抓取数据的原因有很多:
市场调查 :了解当前需求将有助于您进行库存和营销规划。通过观察总体趋势,总能发现机会。价格比较 :人们可以抓取 Tokopedia 并获取不同类别产品的多个价格。这样人们就可以调整价格以保持竞争力。竞争对手分析 :收集竞争对手的产品数据有助于您了解他们的定位以及他们的弱点所在。客户洞察 :查看产品评论和评级将有助于从客户的角度了解各种商品的主要优缺点。产品供货 :监控产品,以便了解热门产品何时售罄,并增加库存以满足客户的需求。在下一节中,我们将看到可以从 Tokopedia 中抓取什么内容。
抓取 Tokopedia 时,请关注重要的数据点,这样您就可以获得对您的业务或研究具有可操作性的见解。以下是要抓取的数据点:
产品名称 :标识产品。价格 :用于价格监控和竞争分析。评分和评论 :为了用户体验和产品可用性。可用性 :针对库存水平和产品可用性。卖家信息 :有关第三方供应商、卖家评级和位置的详细信息。产品图片 :用于直观呈现和理解产品的图像。产品介绍 :了解产品详情。类别和标签 :用于产品排列及分类分析。专注于数据的这些方面,可以让人们从 Tokopedia 收集有用的见解,从而帮助人们改进或做出更好的决策。接下来,我们将了解如何设置 Python 环境以进行抓取。
爬虫库 Crawling API 用于 Tokopedia 抓取 - 爬虫库 Crawling API 使 Tokopedia 的抓取变得快速而直接。由于 Tokopedia 的网站使用动态内容,因此大部分数据都是通过 JavaScript 加载的,这使得使用传统方法抓取数据变得具有挑战性。但 Crawlbase Crawling API 像真实的浏览器一样呈现页面,以便您可以访问数据。
这就是为什么 Crawlbase Crawling API 适合抓取 Tokopedia:
处理动态内容 :Crawlbase 处理 JavaScript 密集型页面,因此所有产品数据都已完全加载并准备好进行抓取。IP旋转 :为了防止被 Tokopedia 的安全系统阻止,Crawlbase 会自动轮换 IP,让您无需担心速率限制或禁令。快速的性能 :Crawlbase 允许您高效地抓取大量数据,同时节省时间和资源。可定制请求 s:您可以更改标题、cookie 和控制请求以满足您的需要。凭借这些功能,Crawlbase Crawling API 使抓取 Tokopedia 变得更容易、更高效。
Crawlbase Python 库 Crawlbase 还提供了一个 Python 库,使网页抓取更加容易。要使用此库,您需要一个访问令牌,您可以通过以下方式获取: 报名 到 Crawlbase。
以下是向 Crawlbase 发送请求的示例函数 Crawling API:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 在 爬行基地 进口 抓取API爬行 API = 爬行 API({ '令牌' : 'YOUR_CRAWLBASE_TOKEN' }) DEF make_crawlbase_request (网址 ): 响应=crawling_api.get(url) if 回复[“标题” ]['pc_status' ] == '200' : html_内容=响应['身体' ]。解码('utf-8' ) 回报 html_内容 其他 : 打印 (f"无法获取页面。Crawlbase 状态代码: {回复[“标题” ]['pc_status' ]} " ) 回报 没有
备注 :Crawlbase 提供两种类型的令牌。 普通代币 对于静态站点。 JavaScript(JS)令牌 动态或浏览器呈现的内容,这是抓取 Tokopedia 所必需的。Crawlbase 提供 1,000 个免费请求来帮助您入门,并且您无需信用卡即可注册。有关更多详细信息,请参阅 爬虫库 Crawling API 文件 .
在下一节中,我们将学习如何为 Tokopedia 抓取设置 Python 环境。
设置 Python 环境 要开始抓取 Tokopedia,您需要设置 Python 环境。请按照以下步骤开始:
安装 Python 和所需的库 确保你的机器上安装了 Python。你可以下载它 点击这里 。安装完成后,运行以下命令安装必要的库:
1 pip 安装 crawlbase beautifulsoup4
爬虫库 :用于与 Crawlbase 交互 Crawling API 处理动态内容。美丽汤 :用于从 HTML 解析和提取数据。这些工具对于有效地抓取 Tokopedia 的数据至关重要。
选择 IDE 选择 IDE 实现无缝开发:
设置好环境后,您就可以开始抓取 Tokopedia 了。接下来,我们将介绍如何创建 Tokopedia SERP Scraper。
抓取 Tokopedia 搜索列表 现在您已准备好 Python 环境,我们可以开始抓取 Tokopedia 的搜索列表。在本节中,我们将指导您检查 HTML、编写抓取工具、处理分页并将数据存储在 JSON 文件中。
检查 HTML 结构 首先,您需要检查要从中抓取产品列表的 Tokopedia 搜索结果页面的 HTML。在此示例中,我们将从以下 URL 抓取耳机列表:
1 https://www.tokopedia.com/search?q=headset
在浏览器中打开开发人员工具并导航到此 URL。
以下是一些需要关注的关键选择因素:
产品名称 :发现于 <span>
用类标记 OWkG6oHwAppMn1hIBsC3pQ==
其中包含产品名称。价格 :在 <div>
用类标记 ELhJqP-Bfiud3i5eBR8NWg==
显示产品价格。商店名称 :发现于 <span>
用类标记 X6c-fdwuofj6zGvLKVUaNQ==
.产品链接 :产品页面链接位于 <a>
用类标记 Nq8NlC5Hk9KgVBJzMYBUsg==
,可通过 href
属性。编写搜索列表抓取工具 我们将编写一个函数来向 Crawlbase 发出请求 Crawling API,检索 HTML,然后使用 BeautifulSoup 解析数据。
以下是抓取搜索列表的代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 在 爬行基地 进口 抓取API在 bs4 进口 美丽汤进口 JSON爬行 API = 爬行 API({ '令牌' : 'YOUR_CRAWLBASE_TOKEN' }) DEF 获取html (网址 ): 选项= { 'ajax_等待' : '真的' , '页面等待' : '5000' } 响应=crawling_api.get(url,选项) if 回复[“标题” ]['pc_status' ] == '200' : 回报 回复['身体' ]。解码('utf-8' ) 其他 : 打印 (f“获取页面失败。状态代码: {回复[“标题” ]['pc_status' ]} " ) 回报 没有 DEF 解析搜索列表 (HTML ): 汤 = BeautifulSoup(html, 'html.parser' ) 产品 = []
产品展示 in 汤.选择('div[data-testid="divSRPContentProducts"] div.css-5wh65g' ): 名称 = 产品.select_one('跨度.OWkG6oHwAppMn1hIBsC3pQ\\=\\=' ).text.strip() if 产品.选择一个('跨度.OWkG6oHwAppMn1hIBsC3pQ\\=\\=' ) 其他 “不适用” 价格 = 产品.select_one('div.ELhJqP-Bfiud3i5eBR8NWg\\=\\=' ).text.strip() if 产品.选择一个('div.ELhJqP-Bfiud3i5eBR8NWg\\=\\=' ) 其他 “不适用” 商店 = 产品.select_one('span.X6c-fdwuofj6zGvLKVUaNQ\\=\\=' ).text.strip() if 产品.选择一个('span.X6c-fdwuofj6zGvLKVUaNQ\\=\\=' ) 其他 “不适用” product_url = 产品.select_one('a.Nq8NlC5Hk9KgVBJzMYBUsg\\=\\=' )['href' ] if 产品.选择一个('a.Nq8NlC5Hk9KgVBJzMYBUsg\\=\\=' ) 其他 “不适用” 产品.附加({ “名称” : 姓名, '价格' : 价格, '店铺' : 店铺, ‘产品网址’ :产品网址 }) 回报 产品
此函数首先使用 Crawlbase 获取 HTML Crawling API 然后使用BeautifulSoup解析数据以提取产品信息。
处理 Tokopedia 中的分页 Tokopedia 的搜索结果分布在多个页面上。为了抓取所有列表,我们需要处理分页。每个后续 page
可以通过在 URL 后面附加页面参数来访问,例如 ?page=2
.
处理分页的方法如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 DEF scrape_multiple_pages (base_url、max_pages ): 所有产品 = [] 页 in 范围 (1 , 最大页数 + 1 ): 分页网址 = f"{base_url} &页面={页} " html_content = fetch_html(分页网址) if html_内容: 产品 = 解析搜索列表(html内容) all_products.extend(产品) 其他 : 打破 回报 所有产品
该函数循环遍历搜索结果页面,从每个页面抓取产品列表,并汇总结果。
将数据存储在 JSON 文件中 抓取数据后,您可以将其存储在 JSON 文件中,以便于访问和将来使用。具体操作如下:
1 2 3 4 5 DEF 保存到json (数据,文件名='tokopedia_search_results.json' ): - open (文件名, 'w' ) as json_文件: json.dump(数据,json_file,缩进=4 ) 打印 (f”数据保存至 {文档名称} " )
完整代码示例 以下是抓取 Tokopedia 耳机搜索列表的完整代码,包括分页和将数据保存到 JSON 文件:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 在 爬行基地 进口 抓取API在 bs4 进口 美丽汤进口 JSON爬行 API = 爬行 API({ '令牌' : 'YOUR_CRAWLBASE_TOKEN' }) DEF 获取html (网址 ): 选项= { 'ajax_等待' : '真的' , '页面等待' : '5000' } 响应=crawling_api.get(url,选项) if 回复[“标题” ]['pc_status' ] == '200' : 回报 回复['身体' ]。解码('utf-8' ) 其他 : 打印 (f“获取页面失败。状态代码: {回复[“标题” ]['pc_status' ]} " ) 回报 没有 DEF 解析搜索列表 (HTML ): 汤 = BeautifulSoup(html, 'html.parser' ) 产品 = []
产品展示 in 汤.选择('div[data-testid="divSRPContentProducts"] div.css-5wh65g' ): 名称 = 产品.select_one('跨度.OWkG6oHwAppMn1hIBsC3pQ\\=\\=' ).text.strip() if 产品.选择一个('跨度.OWkG6oHwAppMn1hIBsC3pQ\\=\\=' ) 其他 “不适用” 价格 = 产品.select_one('div.ELhJqP-Bfiud3i5eBR8NWg\\=\\=' ).text.strip() if 产品.选择一个('div.ELhJqP-Bfiud3i5eBR8NWg\\=\\=' ) 其他 “不适用” 商店 = 产品.select_one('span.X6c-fdwuofj6zGvLKVUaNQ\\=\\=' ).text.strip() if 产品.选择一个('span.X6c-fdwuofj6zGvLKVUaNQ\\=\\=' ) 其他 “不适用” product_url = 产品.select_one('a.Nq8NlC5Hk9KgVBJzMYBUsg\\=\\=' )['href' ] if 产品.选择一个('a.Nq8NlC5Hk9KgVBJzMYBUsg\\=\\=' ) 其他 “不适用” 产品.附加({ “名称” : 姓名, '价格' : 价格, '店铺' : 店铺, ‘产品网址’ :产品网址 }) 回报 产品 DEF scrape_multiple_pages (base_url、max_pages ): 所有产品 = [] 页 in 范围 (1 , 最大页数 + 1 ): 分页网址 = f"{base_url} &页面={页} " html_content = fetch_html(分页网址) if html_内容: 产品 = 解析搜索列表(html内容) all_products.extend(产品) 其他 : 打破 回报 所有产品 DEF 保存到json (数据,文件名='tokopedia_search_results.json' ): - open (文件名, 'w' ) as json_文件: json.dump(数据,json_file,缩进=4 ) 打印 (f”数据保存至 {文档名称} " ) 基本网址 = 'https://www.tokopedia.com/search?q=headset' 最大页数 = 5 搜索结果 = scrape_multiple_pages(base_url,max_pages) 保存到json(搜索结果)
示例输出:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 [ { “名称” : “Ipega PG-R008 游戏耳机适用于 P4 /X1 系列/N-Switch Lite/Mobile/ta” , “价钱” : “178.000 卢比” , “店铺” : “ipegaofficial” , “产品网址” : “https://www.tokopedia.com/ipegaofficial/ipega-pg-r008-gaming-headset-for-p4-x1-series-n-switch-lite-mobile-ta?extParam=ivf%3Dfalse&src=topads” } , { “名称” : “Hippo Toraz 免提耳机立体声 - 耳机,Putih” , “价钱” : “13.000 卢比” , “店铺” : “河马中心” , “产品网址” : “https://www.tokopedia.com/hippocenter88/hippo-toraz-handsfree-earphone-stereo-sound-headset-putih?extParam=ivf%3Dfalse&src=topads” } , { “名称” : “原装耳机适用于 VIVO OPPO XIAOMI REALMI 3.5MM SUPERBASS 插孔 - OPPO” , “价钱” : “5.250 卢比” , “店铺” : “贝努阿切尔” , “产品网址” : “https://www.tokopedia.com/bcbenuacell/headset-original-copotan-vivo-oppo-xiaomi-realmi-jack-3-5mm-superbass-oppo?extParam=ivf%3Dfalse&src=topads” } , { “名称” : “耳机蓝牙无线耳机游戏全低音” , “价钱” : “225.000 卢比” , “店铺” : “Kopi 7 Huruf” , “产品网址” : “https://www.tokopedia.com/kopi7huruf/earphone-bluetooth-wireless-headset-gaming-full-bass?extParam=ivf%3Dfalse&src=topads” } , { “名称” : “入耳式 4D 立体声超重低音耳机,带麦克风和 3.5 毫米数据线插孔,音质清晰 - Putih” , “价钱” : “Rp15.000Rp188.000” , “店铺” : “MOCUTE 商店” , “产品网址” : "https://www.tokopedia.com/mocutestore/earphone-in-ear-4d-stereo-super-bass-dengan-mic-with-kabel-jack-3-5mm-headset-crystal-clear-sound-putih-97573?extParam=ivf%3Dtrue&src=topads" } , .... 更多的 ]
在下一部分中,我们将介绍如何抓取 Tokopedia 上的各个产品页面以获取详细信息。
抓取 Tokopedia 产品页面 现在我们已经抓取了搜索列表,让我们继续从各个产品页面抓取产品详细信息。在本节中,我们将从 Tokopedia 产品页面抓取产品名称、价格、商店名称、描述和图片 URL。
检查 HTML 中的 CSS 选择器 在编写抓取工具之前,我们需要检查产品页面的 HTML 结构,以找到要抓取的数据的正确 CSS 选择器。在此示例中,我们将从以下 URL 抓取产品页面:
1 https://www.tokopedia.com/thebigboss/headset-bluetooth-tws-earphone-bluetooth-stereo-bass-tbb250-beige-8d839
在浏览器中打开开发人员工具并导航到此 URL。
以下是我们需要关注的重点:
产品 名称:在 <h1>
带有属性的标签 data-testid="lblPDPDetailProductName"
.价格 :价格位于 <div>
带有属性的标签 data-testid="lblPDPDetailProductPrice"
.商店名称 :商店名称位于 <a>
带有属性的标签 data-testid="llbPDPFooterShopName"
.产品介绍 :位于 <div>
带有属性的标签 data-testid="lblPDPDescriptionProduk"
其中包含有关产品的详细信息。图片网址 :主要产品图片位于 <button>
带有属性的标签 data-testid="PDPImageThumbnail"
,并 src
嵌套的属性 <img>
标签(类 css-1c345mg
) 包含图像链接。编写产品页面抓取工具 现在我们已经检查了页面,我们可以开始编写爬虫了。下面是一个使用 Crawlbase 的 Python 函数 Crawling API 获取 HTML 并 BeautifulSoup
解析内容。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 在 爬行基地 进口 抓取API在 bs4 进口 美丽汤进口 JSON爬行 API = 爬行 API({ '令牌' : 'YOUR_CRAWLBASE_TOKEN' }) DEF scrape_product_page (网址 ): 选项= { 'ajax_等待' : '真的' , '页面等待' : '5000' } 响应=crawling_api.get(url,选项) if 回复[“标题” ]['pc_status' ] == '200' : html_内容=响应['身体' ]。解码('utf-8' ) 汤 = BeautifulSoup(html_content, 'html.parser' ) 产品数据 = {} 产品数据[“名称” ] = soup.select_one('h1[data-testid="lblPDPDetailProductName"]' ).text.strip() 产品数据['价格' ] = soup.select_one('div[data-testid="lblPDPDetailProductPrice"]' ).text.strip() 产品数据[‘商店名称’ ] = soup.select_one('a[data-testid="llbPDPFooterShopName"]' ).text.strip() 产品数据['描述' ] = soup.select_one('div[data-testid="lblPDPDescriptionProduk"]' ).text.strip() 产品数据['图片网址' ] = [图片['源代码' ] IMG in 汤.选择('按钮[data-testid="PDPImageThumbnail"] img.css-1c345mg' )] 回报 产品数据 其他 : 打印 (f"无法获取页面。状态代码: {回复[“标题” ]['pc_status' ]} " ) 回报 没有
将数据存储在 JSON 文件中 抓取产品详细信息后,最好将数据存储为 JSON 等结构化格式。以下是将抓取的数据写入 JSON 文件的方法。
1 2 3 4 DEF 将数据存储在 JSON 中 (数据,文件名=‘tokopedia_product_data.json’ ): - open (文件名, 'w' ) as json_文件: json.dump(数据,json_file,缩进=4 ) 打印 (f“数据存储于 {文档名称} " )
完整代码示例 这是抓取产品页面并将数据存储在 JSON 文件中的完整代码。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 在 爬行基地 进口 抓取API在 bs4 进口 美丽汤进口 JSON爬行 API = 爬行 API({ '令牌' : 'YOUR_CRAWLBASE_TOKEN' }) DEF scrape_product_page (网址 ): 选项= { 'ajax_等待' : '真的' , '页面等待' : '5000' } 响应=crawling_api.get(url,选项) if 回复[“标题” ]['pc_status' ] == '200' : html_内容=响应['身体' ]。解码('utf-8' ) 汤 = BeautifulSoup(html_content, 'html.parser' ) 产品数据 = {} 产品数据[“名称” ] = soup.select_one('h1[data-testid="lblPDPDetailProductName"]' ).text.strip() 产品数据['价格' ] = soup.select_one('div[data-testid="lblPDPDetailProductPrice"]' ).text.strip() 产品数据[‘商店名称’ ] = soup.select_one('a[data-testid="llbPDPFooterShopName"]' ).text.strip() 产品数据['描述' ] = soup.select_one('div[data-testid="lblPDPDescriptionProduk"]' ).text.strip() 产品数据['图片网址' ] = [图片['源代码' ] IMG in 汤.选择('按钮[data-testid="PDPImageThumbnail"] img.css-1c345mg' )] 回报 产品数据 其他 : 打印 (f"无法获取页面。状态代码: {回复[“标题” ]['pc_status' ]} " ) 回报 没有 DEF 将数据存储在 JSON 中 (数据,文件名=‘tokopedia_product_data.json’ ): - open (文件名, 'w' ) as json_文件: json.dump(数据,json_file,缩进=4 ) 打印 (f“数据存储于 {文档名称} " ) 网址= 'https://www.tokopedia.com/thebigboss/headset-bluetooth-tws-earphone-bluetooth-stereo-bass-tbb250-beige-8d839' 产品数据 = scrape_product_page(网址) if 产品数据: store_data_in_json(产品数据)
示例输出:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 { “名称” : “耳机蓝牙 tws 耳机蓝牙立体声低音 tbb250 - 米色” , “价钱” : “299.000 卢比” , “商店名称” : 《唐山大兄 17》 , “说明” : “1.Efek suara 环绕音频 6D 定向技术 konduksi udara、suara 耳机蓝牙 ini diarahkan ke telinga Anda、secara efektif mengurangi 90% kebocoran suara、sekaligus menjaga liang telinga tetap segar dan menghindari rasa malu di tempat umum.2.Buka desain non -入耳式 Desain memakai gaya anting-anting;berlari、menari、bermain 滑板、bersepeda、dan tantangan olahraga intensitas tinggilainnya、kenyamanan pemakaian jangka panjang yang nyata、tidak ada perasaan memakai、dan tidak dapat dibuang.3.Menggunakan bahan silikon lembut、bahannya sangatringan、dan berat masing-masing telinga hanya 4,5g、yang dapat mengurangi tekanan pada telinga; dapat diregangkan hingga 75\u00b0,sehinga lebih nyaman dipakai4.Bluetooth 5.3Chip 蓝牙 Generasi baru dapat mengurangi penundaan mendengarkan 音乐和 menonton 视频。 Koneksi stable dalam jarak 10 米,koneksi langsung dalam 1 detik setelah membuka penutup.5.Desain Sentuh cerdasIni dapat dioperasikan dengan satu tangan,dan Sentuhannya sensitif dan nyaman; ganti lagu kapan saja、jarab panggilan、asisten panggilan、dan kendalikan dengan bebas6.Panggilan peredam bising dua arahMikrofon peredam bising bawaan dapat secara efektif memfilter suara sekitar selama panggilan、mengidentifikasi suara manusia secara akurat、dan membuat setiap percakapan 和lebih jelas.7。 IPx5 tahan air\ud83d\udca7Tingkat tahan air IPx5,efektif menahan keringat dan tetesan hujan kecil,jangan khawatir berkeringat atau hujan.8.Baterai tahan lama\ud83d\udd0bBaterai 耳机 juga dapat digunakan selama 5 jam,并 waktu siaga hingga 120果酱、会员Anda waktu mendengarkan yang lebih lamaDaftar aksesori 耳机* 耳机 x 2(kiri 和 kanan)* Kotak pengisian daya* Kabel pengisi daya USB-C* Panduan Cepat & Garansi" , “图片网址” : [ "https://images.tokopedia.net/img/cache/100-square/VqbcmM/2024/7/28/3119dca0-2d66-45d7-b6a1-445d0782b15a.jpg.webp?ect=4g" , "https://images.tokopedia.net/img/cache/100-square/VqbcmM/2024/7/28/9d9ddcff-7f52-43cc-8271-c5e135de392b.jpg.webp?ect=4g" , "https://images.tokopedia.net/img/cache/100-square/VqbcmM/2024/7/28/d35975e6-222c-4264-b9f2-c2eacf988401.jpg.webp?ect=4g" , "https://images.tokopedia.net/img/cache/100-square/VqbcmM/2024/7/28/5aba89e3-a37a-4e3a-b1f8-429a68190817.jpg.webp?ect=4g" , "https://images.tokopedia.net/img/cache/100-square/VqbcmM/2024/7/28/c6c3bb2d-3215-4993-b908-95b309b29ddd.jpg.webp?ect=4g" , “https://assets.tokopedia.net/assets-tokopedia-lite/v2/zeus/kratos/85cc883d.svg” , “https://assets.tokopedia.net/assets-tokopedia-lite/v2/zeus/kratos/85cc883d.svg” , “https://assets.tokopedia.net/assets-tokopedia-lite/v2/zeus/kratos/85cc883d.svg” , “https://assets.tokopedia.net/assets-tokopedia-lite/v2/zeus/kratos/85cc883d.svg” , “https://assets.tokopedia.net/assets-tokopedia-lite/v2/zeus/kratos/85cc883d.svg” , “https://assets.tokopedia.net/assets-tokopedia-lite/v2/zeus/kratos/85cc883d.svg” , “https://assets.tokopedia.net/assets-tokopedia-lite/v2/zeus/kratos/85cc883d.svg” ] }
此完整示例展示了如何从 Tokopedia 产品页面提取产品详细信息并将其保存到 JSON 文件中。它可以处理动态内容,非常适合从 JavaScript 呈现的页面中抓取数据。
使用 Crawlbase 优化 Tokopedia 抓取 抓取 Tokopedia 可以帮助您获取产品数据,用于研究、价格比较或市场分析。 爬虫库 Crawling API ,您可以浏览动态网站,甚至可以从 JavaScript 较多的页面快速提取数据。
在本博客中,我们介绍了如何设置环境、从 HTML 中查找 CSS 选择器以及编写 Python 代码以从 Tokopedia 抓取产品列表和产品页面。使用本博客中使用的方法,您可以轻松地从 Tokopedia 收集有用的信息,例如产品名称、价格、描述和图片,并将其存储在 JSON 等结构化格式中。
如果您有兴趣探索从其他电子商务平台进行抓取,请随意探索以下综合指南。
📜 如何抓取亚马逊 📜 如何刮沃尔玛 📜 如何抓取全球速卖通 📜 如何抓取 Zalando 📜 如何抓取 Costco 信息
请联系我们 支持 如果您有任何疑问,祝您抓取愉快。
常见问题 问:从 Tokopedia 抓取数据合法吗? 只要您遵守 Tokopedia 的服务条款并负责任地使用数据,从 Tokopedia 抓取数据是合法的。请务必查看网站规则并避免抓取敏感或个人数据。务必将数据用于合乎道德的目的(例如研究或分析),且不得违反 Tokopedia 的政策。
问:为什么我应该使用 Crawlbase Crawling API 用于抓取 Tokopedia? Tokopedia 使用通过 JavaScript 加载的动态内容,这使得使用传统方法进行抓取变得更加困难。 爬虫库 Crawling API 通过在真实浏览器中呈现网站,使此过程更加简单。它还可以控制 IP 轮换以防止阻塞,从而使抓取更加有效和可靠。
抓取 Tokopedia 产品页面时,您可以提取几个重要的数据点,包括产品标题、价格、描述、评分和图片 URL。这些详细信息对于分析、价格比较或建立产品数据库以了解市场趋势非常有用。