W tej chwili używam programu skrobiącego na moim komputerze. Ma ogromny rozmiar i niestety z tego powodu mój adres IP został zablokowany na stronie, którą muszę skrobać. Czy istnieje sposób, który w Ruby, lub nawet w prosty sposób, mogę zmienić adres IP, aby umożliwić mi powrót do tej strony w celu skrobania lub mam pecha, i być może będę musiał odwołać się do innych rozwiązania. Jest to niedozwolony błąd 403 i niezależnie od jego wartości używam nokogiri, a mój klient użytkownika jest ruby, dzięki.Zmień adres IP w ruby
Odpowiedz
Możesz łączyć się przez proxy, a jeśli masz listę adresów proxy, możesz powiedzieć ruby, aby zmieniał proxy co x minut, spowoduje to zmianę adresu IP, który strona uważa za masz. Oto kod do zeskanowania wyników wyszukiwania Google za pośrednictwem serwera proxy, aby użyć listy proxy, wystarczy nieco rozszerzyć kod.
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
Wow, naprawdę świetnie, dziękuję bardzo, zacząłem myśleć, że byłem skręcony, to jest idealne. – user2109354
Czy masz jakieś zalecenia dotyczące dobrych serwerów proxy do korzystania z tej metody? Nie mam doświadczenia z usługami proxy. –
Spróbuj https://www.hidemyass.com/? – fartagaintuxedo
- 1. Adres IP w Silverlight
- 2. Konwertuj adres IP na 32-bitową liczbę całkowitą w Ruby
- 3. Zapisz adres IP w mongoDB
- 4. WICKET: jak uzyskać adres IP/adres IP klienta
- 5. Zmieniaj adres IP dynamicznie?
- 6. adres IP cURL
- 7. Uzyskaj adres IP użytkownika
- 8. Jak uzyskać adres IP klienta i adres IP serwera za pomocą szyn
- 9. Zakres IP do CIDR w Ruby/Rails?
- 10. Jak zablokować adres IP lub klasy IP w ASP.NET
- 11. Jak zdobyć adres IP klienta?
- 12. .htaccess Konserwacja Wielokrotny adres IP
- 13. Słuchaj na inny adres IP
- 14. Zmień wiązanie Proc w Ruby
- 15. Uzyskaj publiczny (zdalny) adres IP
- 16. Adres IP serwera wyświetlania PHP:
- 17. Jak uzyskać adres IP klienta?
- 18. Jak uzyskać adres IP serwera?
- 19. Szyny - jak uzyskać adres IP odwiedzającego?
- 20. Uzyskaj adres IP klienta w Sinatrze?
- 21. Jak zweryfikować adres IP w C#
- 22. Uzyskaj prawdziwy adres IP klienta w serwecie
- 23. Uzyskaj adres IP użytkownika w strukturze Zend
- 24. Uzyskaj adres IP interfejsu w systemie Linux
- 25. Jak uzyskać adres IP peera w azocie
- 26. Uzyskaj lokalny adres IP w Qt
- 27. Jak pingować adres IP w golang
- 28. Adres IP klienta w ASP.NET (.asmx) webservices
- 29. Adres IP nie został uzyskany w java
- 30. jak uzyskać adres IP użytkownika w mvc
Twój adres IP nie jest powiązany z Ruby. Ponowne uruchomienie routera/modemu zwykle skutkuje nowym adresem IP. [Tor] (https://www.torproject.org) również może pomóc. – Stefan
Rozumiem, ale za każdym razem, gdy próbuję zeskanować witrynę, otrzymuję błąd 403 z powodu mojego adresu IP i jestem pewien, że jest to spowodowane moim adresem IP. Czy jest bardziej efektywny sposób, widzę, że rozerwanie będzie działało dla celów przeglądarki, ale potrzebuję bardziej efektywnego pragmatycznego sposobu na zmianę mojego IP, a następnie ponowne uruchomienie routera/modemu, najlepiej w rubinie, jeśli jest to opcja. – user2109354
Ruby używa właśnie Twojego interfejsu sieciowego, nie możesz po prostu zmienić swojego publicznego adresu IP. – Stefan