【发布时间】:2020-12-11 12:08:47
【问题描述】:
我正在使用 puppeteer 抓取该网站的用户资料。我有一个个人资料链接列表,可用于访问每个个人资料页面并抓取每个用户的 twitter 链接、youtube 链接和其他信息。
示例配置文件
- https://www.tradingview.com/u/QuantNomad/ - 有 youtube、twitter、网站,但没有位置
- https://www.tradingview.com/u/CryptoRox/ - 有推特、网站但位置但没有 youtube
这是我用来为 twitter、youtube 和网站链接生成唯一选择器的配置文件。
我使用 chrome devtools 来获取唯一选择器,youtube 的选择器看起来像这样
但在我分享的另一个个人资料中,没有 youtube 链接,获取了 twitter 链接,但如果 youtube 链接不存在,我希望它为空。
并非所有用户都有 youtube 链接或 twitter 链接等。因此,这些独特的选择器在不同的配置文件中获取了错误的数据。
我知道选择器只是通过获取第 4 项来完成他们的工作(因为选择器是 a:nth-child(4))但是我怎样才能获得一个仅返回那种数据的唯一选择器,例如 youtube 选择器获取 youtube 链接,如果没有链接,然后它什么也不返回,所以一个。
还要记住,链接可以是随机的,以网站链接为例,每个用户都有不同的网站链接,因此您无法将 href 或 innerText 与预定义的关键字匹配。
【问题讨论】:
标签: javascript css web-scraping css-selectors puppeteer