之前我们写过一个微博采集程序,不是特别难,那么有朋友想让我用Faraday库来写一个微博的爬虫程序,还要用Ruby来采集微博的图片。果然,不费吹灰之力,它来了,一起来学习一下吧。
```ruby
require 'faraday'
require 'nokogiri'
proxy_host = 'https://www.duoip.cn/get_proxy'
proxy_port = 8000
# 创建一个Faraday实例,设置代理
faraday = Faraday.new do |faraday|
faraday.request :proxy, proxy_host, proxy_port
end
# 构建请求URL
url = 'https://weibo.com/'
# 发送GET请求
response = faraday.get url
# 使用Nokogiri解析响应内容
doc = Nokogiri::HTML(response.body)
# 遍历文档中的所有img标签
doc.css('img').each do |img|
# 获取img标签的src属性
src = img['src']
# 如果src属性不为空,则打印该图片的URL
puts src if src
end
```
那么上面的代码呢,首先引入了Faraday和Nokogiri库,然后创建了一个Faraday实例,并设置了代理。接着构建了请求的URL,发送了GET请求,并使用Nokogiri解析了相应内容。最后,遍历了文档中的所有img标签,并打印出了img标签的src属性(即图片的URL)。注意,如果src属性为空,则不会打印任何内容。希望这个程序能帮助你完成任务!
领取专属 10元无门槛券
私享最新 技术干货