机械化使用 2 次搜索进行刮擦?

发布于 2024-12-17 05:05:10 字数 796 浏览 1 评论 0原文

我正在使用 Mechanize 抓取博客,试图获得以下结果。主要是很难将我的想法转化为代码逻辑。我假设我需要组合搜索子句并迭代 html 并在找到匹配项时打印出来。刚开始使用 Rails,任何建议都会有所帮助。

期望的结果:

  • first_title
    • first_image_url
    • 第二张图片网址
  • 第二标题
    • first_image_url
    • 第二张图片网址

代码:

require 'rubygems'
require 'mechanize'

url = 'http://blog.something.com/'
mech = Mechanize.new
page = mech.get(url)

page.search('h2').each do |h2|
    puts h2.inner_text
end

imgs = page.search('img[src]').map{|src| src['src']}
puts imgs

当然会生成:

  • first_title
  • secondary_titlethird_title
  • secondary_image_urlfirst_image_url
  • ...
  • first_image_url
  • 代码
  • ...

I am scraping a blog using Mechanize trying to get the results below. Mainly having trouble turning my thoughts into code logic. I assume I need to combine the search clauses and iterate through the html and prints out as it finds matches. New to using Rails and any advice will be helpful.

Desired results:

  • first_title
    • first_image_url
    • second_image_url
  • second_title
    • first_image_url
    • second_image_url

Code:

require 'rubygems'
require 'mechanize'

url = 'http://blog.something.com/'
mech = Mechanize.new
page = mech.get(url)

page.search('h2').each do |h2|
    puts h2.inner_text
end

imgs = page.search('img[src]').map{|src| src['src']}
puts imgs

The code right of course produces:

  • first_title
  • second_title
  • third_title
  • ...
  • first_image_url
  • second_image_url
  • first_image_url
  • ...

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

廻憶裏菂餘溫 2024-12-24 05:05:10

假设图像是 h2 的后代,你可以这样做:

page.search('h2').each do |h2|
  puts h2.inner_text
  h2.css('img').each do |img|
    puts img['src']
  end
end

assuming the images are descended from the h2 you could do:

page.search('h2').each do |h2|
  puts h2.inner_text
  h2.css('img').each do |img|
    puts img['src']
  end
end
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文