Khi bạn sử dụng proxy, bạn không kết nối trực tiếp với máy chủ đích; Thay vào đó, bạn hướng yêu cầu của mình đến máy chủ proxy đánh giá nó và trả về phản hồi. Proxy có nhiều lợi ích, chẳng hạn như chúng ẩn địa chỉ IP thực của bạn, bỏ qua bộ lọc, kiểm duyệt, v.v. Đôi khi rất khó để thực hiện quét web nâng cao
Khi bạn sử dụng proxy, bạn không kết nối trực tiếp với máy chủ đích; Thay vào đó, bạn hướng yêu cầu của mình đến máy chủ proxy đánh giá nó và trả về phản hồi. Proxy có nhiều lợi ích, chẳng hạn như chúng ẩn địa chỉ IP thực của bạn, bỏ qua bộ lọc, kiểm duyệt, v.v.
Đôi khi rất khó để thực hiện quét web nâng cao vì gửi nhiều yêu cầu từ cùng một địa chỉ IP. Web scrapers phải đối mặt với vấn đề phổ biến là bị chặn bởi các trang web mà họ cạo. Nhưng họ có thể sử dụng nhiều kỹ thuật để ngăn chặn bị chặn, chẳng hạn như
Một công cụ quay vòng proxy có thể giúp bạn vượt qua hầu hết các biện pháp chống cạo. Bạn cũng có thể sử dụng nó để vượt qua bất kỳ giới hạn tỷ lệ nào được thực hiện trên trang web mục tiêu và trích xuất dữ liệu thành công. Nhưng proxy xoay là gì? Nó là một proxy chỉ định một địa chỉ IP mới cho mọi kết nối từ nhóm proxy. Điều đó có nghĩa là bạn có thể gửi 1000 yêu cầu đến bất kỳ số lượng trang web nào bằng cách khởi chạy tập lệnh và nhận 1000 địa chỉ IP khác nhau.
Bài viết này giúp bạn hiểu cách sử dụng proxy để xoay địa chỉ IP trong python.
Bạn có thể cạo một danh sách các proxy miễn phí và lưu chúng trong một tệp văn bản có tên list_proxy.txt. Sau đó, bạn có thể làm theo các bước dưới đây để xoay địa chỉ IP trong Python.
Bạn phải nhập mô-đun yêu cầu của Python bằng lệnh bên dưới.
Yêu cầu nhập khẩu
Nếu mô-đun chưa được cài đặt trong môi trường của bạn, bạn có thể cài đặt nó bằng lệnh bên dưới.
Yêu cầu cài đặt !pip
Bạn phải tạo một hàm send_request sẽ lấy hai tham số, i-e, session và proxy. Sẽ tốt hơn nếu sử dụng proxy HTTP vì hầu hết các proxy miễn phí không sử dụng giao thức HTTPS. Chúng tôi sẽ sử dụng các khối thử ngoại trừ vì hầu hết các proxy miễn phí không hoạt động vì chúng đã bị chặn.
def send_request(session, proxy):
try:
response = session.get('http://httpbin.org/ip', proxies={'http': f"http://{proxy}"})
print(response.json())
except:
pass
Ở đây có phần chính của mã. Bạn phải đọc tệp list_proxy.txt của mình và lưu nó vào biến có tên proxy như hình dưới đây.
Nếu __name__ == "__main__":
với open('list_proxy.txt', 'r') dưới dạng tệp:
proxy = file.readlines()
Bạn phải sử dụng mô-đun yêu cầu để tạo một phiên trong Python. Chúng tôi đã sử dụng vòng lặp for để lặp qua proxy trong đoạn mã bên dưới. Sau đó, chúng tôi chuyển phiên và proxy sang hàm send_request.
với các yêu cầu. Session() là session:
Đối với proxy trong proxy:
send_request(phiên, proxy)
Bạn có thể chạy tập lệnh và xem đầu ra như hình dưới đây. Bạn sẽ nhận được một danh sách dài các proxy nhưng hãy nhớ rằng, chúng sẽ không hoạt động.
python xoayproxy. Py
Toàn bộ mã của bạn sẽ là:
import requests
def send_request(session, proxy):
try:
response = session.get('http://httpbin.org/ip', proxies={'http': f"http://{proxy}"})
print(response.json())
except:
pass
if __name__ == "__main__":
with open('list_proxy.txt', 'r') as file:
proxies = file.readlines()
with requests.Session() as session:
for proxy in proxies:
send_request(session, proxy)
Dưới đây là một số mẹo để xoay proxy trong Python khi sử dụng proxy xoay.
Hầu hết các dịch vụ proxy miễn phí có sẵn đều bị tắc nghẽn, dẫn đến sự cố bất ngờ và sự chậm trễ bực bội. Do đó, khi bạn có kế hoạch sử dụng proxy miễn phí, bạn phải kiểm tra xem chúng có phù hợp với nhu cầu cạo của bạn mà không gây ra bất kỳ khoản rút tiền đáng kể nào không.
Hầu hết các proxy miễn phí đều có giá trị trong một thời gian giới hạn, vì vậy bạn có thể xây dựng logic của riêng mình bằng Python có thể xoay công cụ xoay vòng danh sách proxy miễn phí với các địa chỉ IP hoạt động. Bằng cách này, bạn sẽ không nhận được bất kỳ sự gián đoạn nào trong quá trình quét web.
Bạn phải tránh sử dụng các địa chỉ IP tuân theo một trình tự cụ thể hoặc một định dạng có thể dự đoán được như thuộc cùng một nhóm. Đó là bởi vì hầu hết các công cụ chống cạo có thể dễ dàng phát hiện các yêu cầu được gửi từ các địa chỉ IP như vậy. Ví dụ: bạn nên tránh sử dụng chuỗi địa chỉ IP xoay vòng sau đây vì nó sẽ nhanh chóng giương cờ đỏ.
103.243.132.11
103.243.132.12
103.243.132.13
103.243.132.14
Các công cụ quay vòng IP proxy miễn phí không an toàn và chậm. Vì vậy, sử dụng chúng sẽ không phù hợp nếu bạn thực hiện các dự án quét web tiên tiến và quy mô lớn. Sử dụng proxy cao cấp tốt, bạn có thể nhận được dịch vụ chất lượng cao và quét hàng nghìn trang web mà không gặp phải sự phong tỏa hoặc gián đoạn.
Để sử dụng dịch vụ proxy cao cấp, bạn sẽ phải trả một vài đô la và có được một nhà cung cấp đáp ứng nhu cầu trích xuất dữ liệu của bạn và đảm bảo quyền riêng tư của bạn.
Dưới đây là ba loại proxy chính trên Internet.
Proxy ưu tú là lựa chọn tốt nhất để xem xét trong số các proxy này vì chúng có thể ngăn chặn sự phát hiện và vượt qua các hạn chế. Bạn chỉ có thể gửi tiêu đề REMOTE_ADDR bằng proxy ưu tú trong khi vẫn để trống các tiêu đề khác. Bằng cách này, bạn có thể đạt được sự riêng tư tối ưu với các proxy này.
Mặt khác, một proxy trong suốt tiết lộ chi tiết địa chỉ IP của bạn và gửi IP thực của bạn qua tiêu đề HTTP_VIA và tiêu đề HTTP_X_FORWARDED_FOR. Proxy ẩn danh không tiết lộ địa chỉ IP thực của bạn. Nó gửi IP của proxy hoặc để trống.
Bạn có thể sử dụng xoay vòng IP để xoay nhiều địa chỉ IP và tránh bị phát hiện. Tuy nhiên, một số biện pháp chống cạo có thể xác định các hoạt động đó và chặn bạn thu thập dữ liệu. Do đó, bạn cũng cần xoay vòng tác nhân người dùng ngoài việc xoay vòng địa chỉ IP để tăng cơ hội thành công.
Thật đơn giản để tạo một công cụ quay vòng proxy bằng Python. Bạn có thể tạo proxy ngẫu nhiên và sau đó xây dựng logic để thu thập dữ liệu từ các trang web. Ngoài trung tâm dữ liệu và proxy dân cư , các danh mục khác là proxy ưu tú, ẩn danh và minh bạch. Proxy ưu tú là lựa chọn tốt nhất vì chúng khó bị phát hiện bởi trang web mục tiêu. Bạn có thể sử dụng proxy ẩn danh nếu bạn chỉ muốn giữ quyền riêng tư của mình trên Internet. Cuối cùng, bạn có thể sử dụng proxy trong suốt, nhưng chúng mang lại cơ hội thành công thấp nhất. Bài viết này hy vọng sẽ cung cấp thông tin chuyên sâu và đưa ra các ví dụ về cách sử dụng proxy để xoay vòng địa chỉ IP trong python với các bước mã hóa đơn giản