试图在亚马逊上进行爬取。

嘿,大家好,我正在尝试抓取亚马逊产品。Python:Requests Beautifulsoup4。例如...亚马逊 / dp / B00OZQZUJ6?psc = 1 // 无法发布链接。当我们想要抓取说明时,问题就出现了:框架直接由JS填充,而不是有源。有人知道我该如何做到这一点吗?至少理解我应该模拟什么来获取信息?我怎么知道JS是如何填充它的。谢谢。
 
刚刚看了一下已经安装好并且在试用一些东西。谢谢。我只是想问一下,根据我所理解的,使用requests的主要问题是因为它不是一个真正的浏览器,它不允许执行 JavaScript。而这个库可以,所以现在应该出现新生成的内容了。实际上,我已经用Selenium P,JS做了一个截图,确实出现了。谢谢!
 

almaxlodis1983

New member
我用 Selenium 选择器使它工作了。但我不明白为什么 Beautifulsoup 不再起作用了,只能在 head 中找到元素。也许我缺少一些理论基础。你知道吗?
 

comfupaso1983

New member
产品描述在code内部。尝试一些正则表达式,如 /var iframeContent = "(.*?)"/,然后进行 urldecode 处理。
 

carlawnlila1985

New member
甚至没有与头部之外的任何东西相匹配。但是没关系。我已经让它工作了,如果有人对代码感兴趣,请给我发私信。您可以放置一个搜索链接,并为每个物品创建一个新文件夹并下载所有图像,并在HTML文件中获取产品描述、标题和特征。因为看起来亚马逊有两种类型的网站,具有不同的类,所以只需要修改以处理两者即可。
 

vintepewa1973

New member
使用BeautifulSoup时,如果你想获取由JavaScript生成的内容,只需使用无窗口浏览器,例如PhantomJs。
 

lenromahle1975

New member
如果我没记错,亚马逊过去曾提供一个能用的XML API。那时候已经不需要爬取他们的网站了。不过我不确定现在是否存在。
 
使用 html5lib 和 Beautifulsoup 库进行网页爬取,同时使用 Selenium 根据 XPath 查找元素,通过交叉检查它的 .txt 和 .get_attributes 属性,找到您想抓取或点击的对象。
 
爬取Amazon有一些困难,因为他们有许多反爬软件。我们通过代理旋转器找到了一种绕过它的方法——如果您有兴趣,也许我们的开发者可以为您的项目提供一些咨询。如果感兴趣,请发私信。
 
顶部