从具有数据编码的锚点中提取 URL-url
Extracting URL from anchor that has a data-encoded-url
我正在尝试提取页面上的“网站”link
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属性!
浏览器似乎将数据编码-url 转换为 href,但 scrapy 不会。
我可以提取数据编码-url,但我找不到任何关于将其转换为 URL
的信息
atob("aVZVX2h0dHA6Ly93d3cuZnVsaW5tZW4uY29tLnNnL2Z1LWxpbi1tZW4tbnNyY2NfVFJS").replace(/^.*_(.*)_.*$/, "")
给出http://www.fulinmen.com.sg/fu-lin-men-nsrcc
我正在尝试提取页面上的“网站”link
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属性!
浏览器似乎将数据编码-url 转换为 href,但 scrapy 不会。
我可以提取数据编码-url,但我找不到任何关于将其转换为 URL
的信息atob("aVZVX2h0dHA6Ly93d3cuZnVsaW5tZW4uY29tLnNnL2Z1LWxpbi1tZW4tbnNyY2NfVFJS").replace(/^.*_(.*)_.*$/, "")
给出http://www.fulinmen.com.sg/fu-lin-men-nsrcc