如何解决从具有数据编码 url 的锚中提取 URL
我正在尝试提取页面上的“网站”链接
https://www.tripadvisor.com.sg/Restaurant_Review-g294265-d17171783-Reviews-Fu_Lin_Men_NSRCC-Singapore.html
当我在浏览器控制台中查看 HTML 时
<a data-encoded-url="aVZVX2h0dHA6Ly93d3cuZnVsaW5tZW4uY29tLnNnL2Z1LWxpbi1tZW4tbnNyY2NfVFJS" class="_2wKz--mA _15QfMZ2L" target="_blank" href="http://www.fulinmen.com.sg/fu-lin-men-nsrcc">Website ... </a>
当我在scrapy shell中使用
请求这个元素时response.css('a:contains("Website")').get(),
我明白
('<a data-encoded-url="QTh2X2h0dHA6Ly93d3cuZnVsaW5tZW4uY29tLnNnL2Z1LWxpbi1tZW4tbnNyY2NfT0ha" class="_2wKz--mA _15QfMZ2L" target="_blank">Website ... </a>',)
没有 href 属性!
似乎浏览器将 data-encoded-url 转换为 href 但scrapy 没有。
我可以提取 data-encoded-url,但找不到任何关于将其转换为 URL 的信息
解决方法
NEW_KEY
给出 atob("aVZVX2h0dHA6Ly93d3cuZnVsaW5tZW4uY29tLnNnL2Z1LWxpbi1tZW4tbnNyY2NfVFJS").replace(/^.*_(.*)_.*$/,"$1")
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。