首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何刮除所有的评论,如果他们在不同的网页上?

如何刮除所有的评论,如果他们在不同的网页上?
EN

Stack Overflow用户
提问于 2018-10-02 08:46:03
回答 2查看 176关注 0票数 0

如果所有的评论都在不同的页面上,如何从沃尔玛的评论页面(例如:http://www.walmart.com/ip/Ematic-9-Dual-Screen-Portable-DVD-Player-with-Dual-DVD-Players-ED929D/28806789)中抓取所有的评论?我用机械(Nokogiri)抓取,但它不能点击按钮(它不是表单的一部分,那么我就不能提交)。

代码语言:javascript
复制
<button class="paginator-btn paginator-btn-next"><span 
class="visuallyhidden">Next Page</span></button>

我不能去下一个page.How解决这个问题?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-10-03 13:44:08

我用watir gem.Mechanize解决这个任务,不能与JavaScript交互。

票数 0
EN

Stack Overflow用户

发布于 2018-10-02 08:56:02

更新的答案(发布问题编辑):

我想这可能比那简单。如果您注意到产品url,您会发现在url的末尾有某种ID:

http://www.walmart.com/ip/Ematic-9-Dual-Screen-Portable-DVD-Player-with-Dual-DVD-Players-ED929D/28806789

如果您获得了该ID,您可以获取评论根页面(https://www.walmart.com/reviews/product/)并连接该产品的ID:

https://www.walmart.com/reviews/product/28806789

现在,您可以遍历产品,获取尾随ID,然后转到每个评论页面获取所有评论。

希望能帮上忙。

旧答案(预问题编辑):

你贴的那页对我来说是空的。但是,我看到的是元素是一个按钮,因此,您需要做的是查找表单,然后提交它。

Clicking a button with Ruby mechanize获取的示例(万一链接由于某种原因停止工作):

代码语言:javascript
复制
# get the form
form = agent.page.form_with(:name => "my-form")
# get the button you want from the form
button = form.button_with(:value => "Search")
# submit the form using that button
agent.submit(form, button)

请记问题中的“flaviu”和“serabe”。

要进行抓取,您应该保存根url,转到评审页面,获取评论,返回到根url,等等。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52604916

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档