يعني استخراج بيانات Google في Ruby عادةً open-uri وNokogiri، ثم قائمة وكلاء، ثم متصفح بلا واجهة. إليك البديل الرخيص: استدعاء HTTP واحد يُرجع نتائج Google على هيئة JSON منظم — بلا Nokogiri، وبلا وكلاء.
لماذا يصبح الاستخراج اليدوي في Ruby مكلفاً
- حظر عناوين IP — يحظر Google عناوين IP الخاصة بمراكز البيانات خلال دقائق؛ ستضطر إلى استئجار وكلاء سكنيين متناوبين.
- اختبارات CAPTCHA — يُطلقها الحجم، وتتراكم تكاليف حلّها.
- المتصفحات بلا واجهة — تدفعك النتائج المعروضة عبر JavaScript إلى Ferrum/Selenium، وهما بطيئان وثقيلان.
- تعفّن Nokogiri — تتغير بنية Google فتُرجع مُحدِّدات CSS لديك
nilبصمت.
الطريقة الرخيصة: طلب واحد
المكتبة القياسية فقط — بلا gems:
require "net/http"
require "json"
uri = URI("https://api.serp.cheap/v1/search")
req = Net::HTTP::Post.new(uri, {
"X-API-Key" => ENV["SERP_CHEAP_API_KEY"],
"Content-Type" => "application/json",
})
req.body = { q: "best crm software", gl: "us" }.to_json
res = Net::HTTP.start(uri.host, uri.port, use_ssl: true) { |http| http.request(req) }
JSON.parse(res.body)["organic"].each do |r|
puts "#{r['position']}. #{r['title']}\n #{r['link']}"
end
لا وكلاء، ولا متصفح، ولا محلل تعتني به.
أو استخدم الـ gem الرسمي
gem install serpcheap
require "serpcheap"
client = SerpCheap::Client.new(ENV["SERP_CHEAP_API_KEY"])
res = client.search(q: "best crm software", gl: "us")
puts res.organic.first.title
على Rails؟ يضيف gem install serpcheap-rails ملف تهيئة أولي وإعدادات لتحقن العميل في أي مكان.
كم يكلّف
| السعر لكل استعلام | |
|---|---|
| نتيجة طازجة | 0.0006$ |
| نتيجة مخزّنة مؤقتاً | 0.0003$ |
| مجاناً عند التسجيل | 100 عملية بحث |
الدفع حسب الاستخدام من 0.75$ لكل ألف، والأرصدة صالحة 12 شهراً — أرخص من الوكلاء السكنيين الذين يحتاجهم المستخرج اليدوي. راجع مقارنة أرخص SERP API.
المعاملات التي ستستخدمها
gl— بلد النتائج. راجع السيو المحلي حسب البلد.hl— لغة الواجهة.page— يبدأ الترقيم من 1؛ راجع الترقيم.tbs— مرشّح زمني للنتائج الحديثة.
التالي
جرّب serp.cheap
انسخ المقتطف، أضف مفتاحك، وستكون تستخرج بيانات Google من Ruby. 100 عملية بحث مجانية عند التسجيل — دون بطاقة؛ ثم الدفع حسب الاستخدام من 0.75$ لكل ألف بعد ذلك، والأرصدة تبقى صالحة لمدة 12 شهراً.
- احصل على مفتاح API المجاني ←
- تفضّل الدفع بالبطاقة؟ يتوفر serp.cheap أيضاً على RapidAPI (~0.90$ لكل ألف) وApify (~1.50$ لكل ألف).