westlife73 发表于 2023-11-3 16:24:56

使用Faraday库采集微博图片


之前我们写过一个微博采集程序,不是特别难,那么有朋友想让我用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属性为空,则不会打印任何内容。希望这个程序能帮助你完成任务!
页: [1]
查看完整版本: 使用Faraday库采集微博图片