爬虫程序是由一系列的代码组成的,通过这些代码,爬虫程序可以从网页中获取信息。今天有个医药公司想要一些药品数据,让我里一共Ruby编写一个爬虫程序,采集一些他们需要的药品数据信息,术业有专攻所以就找我这位大神过去帮忙,其实这些都没啥难的,以我经验分分钟搞定,套用目标躺着都把钱赚了。
在这个例子里,我们将用Ruby编写一个爬虫程序,爬取 国产药品官方数据采集 的内容。我们将使用代理IP来保护爬虫程序不被网站封锁。
首先,我们需要安装两个库:Nokogiri和HTTParty。这两个库是用来处理HTML和发送HTTP请求的。
# 安装Nokogiri和HTTParty库
gem 'nokogiri'
gem 'httparty'
然后,我们需要定义一个函数,这个函数会接收一个URL作为参数,然后发送一个HTTP GET请求到这个URL。我们使用HTTParty库来发送这个请求。
require 'httparty'
require 'nokogiri'def get_html(url)提取免费IP (url) jshk.com.cn/mb/reg.asp?kefu=xjy&csdnresponse = HTTParty.get(url, proxy: {http: {host: 'duoip', port: 8000}})response.body
end
在这个函数中,我们首先导入了HTTParty和Nokogiri库。然后,我们定义了一个函数get_html,它接收一个URL作为参数。然后,我们使用HTTParty.get方法发送一个HTTP GET请求到这个URL,参数proxy是一个哈希,其中包含了代理信息。最后,我们返回了请求的响应体。
接下来,我们需要解析HTML内容。我们使用Nokogiri库来解析HTML。
def parse_html(html)doc = Nokogiri::HTML(html)doc.css('.class_name').text
end
在这个函数中,我们首先导入了Nokogiri库。然后,我们定义了一个函数parse_html,它接收一个HTML字符串作为参数。然后,我们使用Nokogiri::HTML方法创建了一个Nokogiri::HTML对象。接着,我们使用CSS选择器来选择我们要提取的内容。在这个例子中,我们选择所有class_name为’.class_name’的元素,并提取它们的文本。
最后,我们调用这两个函数,从网页中提取我们需要的信息。
url = 'http://www.example.com'
html = get_html(url)
print parse_html(html)
在这个例子中,我们首先定义了一个URL,然后调用get_html函数发送一个HTTP GET请求到这个URL,获取HTML内容。然后,我们调用parse_html函数,从HTML内容中提取我们需要的信息,并打印出来。
上面就是爬虫的一些基本的流程,后期也方便增加项目的时候用来修改,非常灵活,也使用大部分的网站爬虫,但是在做爬虫的时候一定要注意网站反爬虫机制以及网站限制IP的问题。如果各位有任何问题都可以留言讨论。