如果它们在不同的页面上,如何抓取所有评论?
How to scrape all reviews if they are on different pages?
如果沃尔玛评论页面(例如:http://www.walmart.com/ip/Ematic-9-Dual-Screen-Portable-DVD-Player-with-Dual-DVD-Players-ED929D/28806789)在不同的页面上,如何从它们中抓取所有评论?我通过 mechanize(nokogiri) 抓取但它不能点击按钮(它不是部分形式,那我不能提交)
<button class="paginator-btn paginator-btn-next"><span
class="visuallyhidden">Next Page</span></button>
我不能去下一步page.How解决这个问题?
更新的答案(post 问题编辑):
我想这可能比那更容易。如果您注意产品 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:
现在,您可以遍历产品,获取尾随 ID,然后转到每个评论页面以获取所有评论。
希望对您有所帮助。
旧答案(问题前编辑):
您 post 浏览的页面对我来说是空的。但是,我看到的是该元素是一个按钮,因此,您需要做的是查找表单然后提交它。
示例取自 Clicking a button with Ruby mechanize(以防 link 由于某种原因停止工作):
# 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,等等。
我用 watir 解决了这个任务 gem.Mechanize 无法与 JavaScript 互动。
如果沃尔玛评论页面(例如:http://www.walmart.com/ip/Ematic-9-Dual-Screen-Portable-DVD-Player-with-Dual-DVD-Players-ED929D/28806789)在不同的页面上,如何从它们中抓取所有评论?我通过 mechanize(nokogiri) 抓取但它不能点击按钮(它不是部分形式,那我不能提交)
<button class="paginator-btn paginator-btn-next"><span
class="visuallyhidden">Next Page</span></button>
我不能去下一步page.How解决这个问题?
更新的答案(post 问题编辑):
我想这可能比那更容易。如果您注意产品 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:
现在,您可以遍历产品,获取尾随 ID,然后转到每个评论页面以获取所有评论。
希望对您有所帮助。
旧答案(问题前编辑):
您 post 浏览的页面对我来说是空的。但是,我看到的是该元素是一个按钮,因此,您需要做的是查找表单然后提交它。
示例取自 Clicking a button with Ruby mechanize(以防 link 由于某种原因停止工作):
# 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,等等。
我用 watir 解决了这个任务 gem.Mechanize 无法与 JavaScript 互动。