我正在从网络上抓取一些内容。并希望仅在我们发现一些数据的情况下保存一些数据。我的代码如下:
rm = visa.ResourceManager()
这里的问题。当我在做
rm = visa.ResourceManager('@py')
有时套索上的子代没有css(“ h2 a”),应用程序中断并抛出错误。
如何做最好的方法“嘿。如果您的DOM上没有“ h2和a”,只需转到下一个元素?但是,如果有,请执行其他处理?
答案 0 :(得分:1)
可以使用next
关键字来提高Ruby中的循环。因此,您可以执行以下操作:
@all_jobs.each do |job|
link = job.at_css("h2 a")
next unless link
@url = link['href']
...
end
答案 1 :(得分:0)
您可以这样做:
@url = job_parse_page.at_css("h2 a,[href]")['href'] rescue 'no href!'
它将查找h2 a,然后查找具有href属性的任何内容,并使用“ no href!”进行救援