http://proxydb.net/?protocol=https&country=TR
def GetProxy():
url = 'https://free-proxy-list.net/'
r = requests.get(url)
soup = BeautifulSoup(r.content, 'html.parser')
div = soup.find('div', class_='table-responsive')
tbody = div.find("tbody")
proxies = tbody.find_all("tr")
proxy = proxies[randint(0, len(proxies) - 1)]
proxy_ip = proxy.find_all("td")[0].get_text()
proxy_port = proxy.find_all("td")[1].get_text()
return proxy_ip + ":" + proxy_port
böyle bir kod var elimde yardımcı olursanız sevinirim?
nasıl çekebilirim bu linkteki proxyleri?
Sitedeki proxyler <textarea>
etiketi içindeler. Şöyle yapabilirsiniz:
from requests import get
from bs4 import BeautifulSoup as BS
def get_proxy(url):
return BS(
get(url).content, "html.parser"
).find("textarea").text.split("\n")[3:-1]
print(get_proxy(url="https://free-proxy-list.net/"))
peki ben bu proxyleri rastgele çekmek istiyorum ama sürekli farklı ip çekmek istiyorum nasıl yapabilirim?
Proxy List - ProxyDB şu siteden çekmek istiyordum yanlış telavuz ettim özür dilerim
def GetProxy():
url = 'http://proxydb.net/?protocol=https&country=TR'
r = requests.get(url)
soup = BeautifulSoup(r.content, "lxml")
div = soup.find('div', class_='table-responsive')
table = div.find('div', {"id" : 'TableWithRules'})
tbody = table.find("tbody")
proxies = tbody.find_all("tr")
proxy = proxies[randint(0, len(proxies) - 1)]
proxy_ip = proxy.find_all("td")[0].get_text()
return proxy_ip + ":" + proxy_port
print(GetProxy())
yaptım ama find hatası almaktayım.
hata şu :
table = div.find('div', {"id" : 'TableWithRules'})
AttributeError: 'NoneType' object has no attribute 'find'
def GetProxy():
url = 'http://proxydb.net/?protocol=https&country=TR'
r = requests.get(url)
soup = BeautifulSoup(r.content, "lxml")
div = soup.find('div', class_='table-responsive')
tbody = div.find("tbody")
proxies = tbody.find_all("tr")
proxy = proxies[randint(0, len(proxies) - 1)]
proxy_ip = proxy.find_all("td")[0].get_text()
return proxy_ip + ":" + proxy_port
yukarıdaki gibi denedim bu sefer
tbody = div.find("tbody")
AttributeError: 'NoneType' object has no attribute 'find'
hatası almaktayım
Siz soup
tan dönen değere baktınız mı? Sadece "\n"
dönüyor.
from requests import get
from bs4 import BeautifulSoup as BS
def get_proxy(url):
return BS(get(url).content, "lxml")
print(get_proxy(url="http://proxydb.net/?protocol=https&country=TR"))
boş dönüyor verdiğiniz kod denedim ama hiç bir çıktı vermedi malesef
Vermeyecek zaten. O sayfa recaptcha
tarafından korunuyor. Ama şöyle yapabilirsiniz: Sayfa bilgilerini bir html dosyasına yazdırırsınız, sonra da linkleri o html sayfasından çıkarırsınız.
Örnek olsun diye paylaşıyorum. Sayfayı kaydettikten sonra aşağıdaki kodu çalıştırın:
from bs4 import BeautifulSoup as BS
def get_proxy():
with open("proxy.html") as f:
return [i.text for i in BS(f.read(), "html.parser").find("tbody").find_all("a")]
print(get_proxy())
Şöyle bir çıktı almanız lazım:
['176.235.137.2:8080', '176.235.80.110:9090', '217.195.203.29:3131', '95.0.66.71:1976', '85.105.139.53:8090', '91.93.163.188:8080', '176.235.80.103:9090', '91.93.135.113:8080', '78.111.97.182:3142', '80.93.213.213:3136', '78.188.186.180:8080', '193.36.61.203:8000', '88.255.60.220:8080', '91.93.73.227:7070', '176.236.120.147:8080']
tekrar deneyim kusura bakmayın sizi de uğraştırmaktayım
Traceback (most recent call last):
File "bcvcv6.py", line 225, in <module>
print(get_proxy())
File "bcvcv6.py", line 49, in get_proxy
with open("proxy.html") as f:
FileNotFoundError: [Errno 2] No such file or directory: 'proxy.html'
böyle bir şey çıktı benim özelden attığınızı denedim olmadı bu linkten rastgele proxy çekmek amacım
http://proxydb.net/?protocol=https&country=TR
Siz tarayıcınızı kullanarak sayfanın kaynak kodlarını açın, bütün kaynak kodunu kopyalayın, proxy.html
isminde bir dosyaya kaydedin. Ondan sonra bu kodu çalıştırın, aksi taktirde böyle bir dosya sizin sisteminizde olmadığı için hata alırsınız.
Listeyi aldıktan sonra, random
kütüphanesi ile rastgele proxy çekebilirsiniz zaten. Amaç proxy listesini almak. Ama sitenin o sayfası koruma altında olduğu için requests
kullanamıyoruz.
anladım peki bir başka site bulsam
size dönüş yapsam
olur mu?
tabi müsaitseniz?
sizde zamanınız varsa?
Yarın (yani gün içerisinde) dönüş yapsam olur mu?
tamam olur ama unutmayın lütfen ben bir sistem kurmaktayım ve bu kod bana acil lazım kredili sistem yapıyorum en son 3 hafta önce hatta formu ben kirletmiştim
bcvc 10 version amacım türkiye proxyleri çekmek
Tamam, gün içerisinde müsait olduğumda yardımcı olmaya çalışım. Siz bulacağınız sitelerden proxyleri çekmeye çalışın, çözemediğiniz bir sorun oluşursa sorun, ben olmazsam başka arkadaşlar yardım etmeye çalışırlar.
Ne demek istediğinizi anlamadım.
Anladım.