UiPath数据抓取时如何手动添加电商店铺链接列?
电商爬虫新增店铺链接列的实现方案
一、Python + Pandas 常规爬虫场景
如果是用 Python 结合 Requests/BeautifulSoup 爬取,且数据存在 Pandas DataFrame 中,操作如下:
- 提取店铺链接:在解析商品详情页时,定位页面中店铺入口的跳转链接(比如商品页顶部/侧边的店铺名称锚点),提取其 URL。
- 新增列并填充数据:
- 初始化 DataFrame 时直接包含新列:
import pandas as pd df = pd.DataFrame(columns=['name', 'price', 'specific_good_url', 'shop_url']) - 若已有现成 DataFrame,直接新增列并匹配对应数据:
# shop_urls 是按顺序存储的店铺链接列表 df['shop_url'] = shop_urls
- 初始化 DataFrame 时直接包含新列:
- 保存数据:导出时保留新列,比如存为 CSV:
df.to_csv('ecommerce_data.csv', index=False, encoding='utf-8-sig')
二、Scrapy 框架场景
基于 Scrapy 开发的爬虫,修改 Item 和解析逻辑即可:
- 更新 Item 定义:在
items.py中新增店铺链接字段:import scrapy class EcommerceItem(scrapy.Item): name = scrapy.Field() price = scrapy.Field() specific_good_url = scrapy.Field() shop_url = scrapy.Field() # 新增店铺链接字段 - 在爬虫中提取数据:在商品详情页的解析函数里,提取店铺链接并赋值给 Item:
def parse_detail(self, response): item = EcommerceItem() item['name'] = response.css('h1.goods-title::text').get().strip() item['price'] = response.css('span.price-num::text').get() item['specific_good_url'] = response.url # 根据目标网站的 HTML 结构调整选择器 item['shop_url'] = response.css('a.shop-entry::attr(href)').get() yield item - 导出数据:Scrapy 默认会导出 Item 中所有字段,无需额外配置,直接运行爬虫即可得到包含店铺链接的结果。
三、可视化爬虫工具(如八爪鱼、ParseHub)场景
无需编码的可视化工具,操作步骤更简单:
- 在爬虫任务的「字段配置」面板,点击「添加字段」,命名为
shop_url - 选中页面上的店铺名称/店铺入口元素,设置「提取链接」规则,将链接赋值给
shop_url字段 - 重新启动爬虫,导出的数据会自动包含新增的店铺链接列
关键注意点
- 不同电商网站的店铺链接位置差异大,需针对目标站点的 HTML 结构调整 CSS/XPath 选择器
- 若提取到的是相对路径,要拼接站点域名转为绝对 URL:
base_domain = 'https://www.target-site.com' relative_url = response.css('a.shop-link::attr(href)').get() item['shop_url'] = f"{base_domain}{relative_url}" if relative_url else None
内容的提问来源于stack exchange,提问作者Palamar66
相关产品推荐
相关产品推荐

