웹 사이트를 긁어 내려고하고 Tor 모듈을 사용하여 프록시를 생성 한 다음 요청 모듈을 사용하여 웹 사이트를 크롤링합니다. 그러나 프록시가있는 요청 모듈은 웹 사이트에서 식별하고 api 페이지 (일부 api 정보를 보여주는 메시지가있는 html)와 함께 반환됩니다. 그러나 프록시없이 (원래의 IP 주소를 사용하여) 요청을 사용할 때 적절한 응답을 얻고 있습니다. 내 질문은 : 어떻게 웹 사이트가 올바르게 프록시에서 호출을 차단하고 원래의 IP (내 현재의 IP)에서 받아 들일 수 있어야 식별 온다. 여기 page_with_proxy
요청시 작동하지 않는 프록시 사용
import requests
from stem import Signal
from stem.control import Controller
def renew_connection():
with Controller.from_port(port=9051) as controller:
controller.authenticate(password="my_password")
controller.signal(Signal.NEWNYM)
proxies_http = {
'http': 'http://127.0.0.1:8118'
}
url = 'http://www.websitename.com' #### Not showing real address
page_with_proxy = requests.get(url , headers=random_header , proxies = proxies_http , timeout = 5)
page = requests.get(url , headers=random_header , proxies = None , timeout = 5)
몇 가지 API 정보를 가지고 (일부 링크에 도착했고 API에 등록), 그러나 (proxies == None
어디) 모든 HTML 세부 적절한 웹 페이지 정보가 page
는 (나는 모든 XPath의를 찾을 수 있어요)입니다. 이것을 우회하는 방법이 있습니까, 아니면 웹 사이트가 쉽게 프록시를 사용하는지 여부를 어떻게 이해할 수 있습니까?
즉,이를 우회 할 수있는 방법이 없습니다. 해킹이나 workwrounds 없습니다. –