Şu anda bilgisayarımda bir kazıma programı çalıştırıyorum. Bu büyük boyutta ve maalesef bu yüzden IP adresim kazımak zorunda olduğum siteden yasaklandı. Ruby'de, hatta basit bir şekilde, IP adresimi değiştirebilirim, böylece bu siteye kazımak için tekrar girebilirim, ya da şanstan kurtulurum ve başka bir yere başvurmak zorunda kalabilirim. çözümleri. Bu bir 403 Yasak Hatadır ve ne olursa olsun ben nokogiri kullanıyorum ve kullanıcı aracım ruby, teşekkürler.IP adresini rubire olarak değiştir
cevap
Bir proxy üzerinden bağlantı kurabilirsiniz ve bir proxy adresleri listeniz varsa, Ruby'yi proxy'yi her x dakikada bir değiştirmesini söyleyebilirsiniz; bu, web sitesinin sahip olduğunuzu düşündüğü IP'de bir değişikliğe neden olur. İşte bir proxy üzerinden google arama sonuçlarını kazımak için bir kod, bir proxy listesi kullanmak için kod biraz uzatmak.
require 'rubygems'
require 'mechanize'
agent = Mechanize.new
agent.set_proxy '78.186.178.153', 8080
page = agent.get('http://www.google.com/')
google_form = page.form('f')
google_form.q = 'new york city council'
page = agent.submit(google_form, google_form.buttons.first)
page.links.each do |link|
if link.href.to_s =~/url.q/
str=link.href.to_s
strList=str.split(%r{=|&})
url=strList[1]
puts url
end
end
Vay, gerçekten harika, çok teşekkürler, vidalandım diye düşünmeye başladım, bu mükemmel. – user2109354
Bu yöntemi kullanmak için iyi proxy sunucuları için önerileriniz var mı? Vekalet hizmetleriyle ilgili deneyimim yok. –
https://www.hidemyass.com/? – fartagaintuxedo
- 1. Kullanıcının IP Adresini Alın
- 2. Powershell IP adresini Integer'e dönüştürün
- 3. Sunucumun IP adresini PHP (CLI)
- 4. SoapUI son nokta adresini değiştir
- 5. IPv6 adresini Python soketine kaynak ip adresi olarak bağla
- 6. Dizgi olarak temsil edilen IP adresini nasıl artırırım?
- 7. Pencerelerde ip adresini değiştirmek için komut dosyası
- 8. İstemcinin ve Sunucunun IP adresini bulma
- 9. İstemci IP Adresini nasıl alabilirim? HttpServletRequest
- 10. IP adresini ana bilgisayar adına dönüştürme
- 11. Scala Play Framework Kullanıcının IP adresini alıyorum
- 12. phpmyadmin'den mySQL sunucusu ip adresini nasıl bulurum?
- 13. java uygulamasından doğru yerel IP adresini alın
- 14. Sistemin Ip ve mac adresini edinin
- 15. Ip adresini uzak bir makineden nasıl edinirsiniz?
- 16. IP adresini komut satırından nasıl kopyalayıp ayrıştırabilirim?
- 17. iOS'ta bağlanmak için kullanılan tam IP adresini nasıl edinebilirim?
- 18. TCPClient/Socket ile kullanmak için Giden IP adresini belirtin C#
- 19. Site talebi kullanmadan gerçek IP adresini nasıl alabilirim? C#
- 20. Harici ana bilgisayar kullanmadan aygıtın harici IP adresini nasıl programlanır?
- 21. SunucuSocket + client Soket - istemcinin IP adresini nasıl alabilirim?
- 22. node.js içinde UDP mesajı gönderirken kaynak IP adresini değiştirme
- 23. Farklı bir bağlantı noktasında IP adresini kullanarak SSH üzerinde git
- 24. Regex: Önceden belirli karakterlerin önceliği dışında IP adresini eşleştirin?
- 25. Java RMI çağrısı için uzak istemci IP adresini belirleme
- 26. İstemcinin gerçek IP adresini Rails ve Nginx ile alın?
- 27. API kullanarak bir kapsayıcıdan Swarm düğümü IP adresini al?
- 28. C# - Makinemin yerel IP Adresini bulma ve sanal makinenin değil
- 29. Bir istemcinin IP Adresini Alma Bir web hizmeti için
IP adresiniz Ruby ile ilgili değil. Yönlendiricinizi/modeminizi yeniden başlatmanız genellikle yeni bir IP adresiyle sonuçlanır. [Tor] (https://www.torproject.org) da yardımcı olabilir. – Stefan
Anlıyorum, ancak siteyi kazımayı denediğimde IP adresim nedeniyle 403 hatası alıyorum ve bunun IP adresimden kaynaklandığından eminim. Daha verimli bir yol var mıdır, görüyorum ki tarayıcılar için çalışacak ama IP'imi değiştirmek için daha verimli pragmatik bir yoldan sonra yönlendiricimi/modemi yeniden başlatıyorum, tercihan bir seçenekse yakutta. – user2109354
Ruby sadece ağ arayüzünüzü kullanır, sadece genel IP'nizi değiştiremezsiniz. – Stefan