tối proxyscrape logo

How To Use Proxies To Rotate IP Addresses In Python? 5 Easy Steps In 2024

Làm thế nào để, Proxies, Python, Tháng Mười Một-02-20225 phút đọc

Mục lục

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ư
  • Xoay vòng địa chỉ IP
  • Sử dụng trình duyệt không đầu
  • Giảm tốc độ thu thập dữ liệu,
  • Sử dụng proxy

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.

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.

Nhập thư viện

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

Tạo một hàm

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

Đọc tệp .txt

Ở đâ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()

Sử dụng For Loop

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()  session:
   Đối với proxy trong proxy:
       send_request(phiên, proxy)

Chạy tập lệnh

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)

Mẹo để xây dựng một công cụ quay vòng proxy

Dưới đây là một số mẹo để xoay proxy trong Python khi sử dụng proxy xoay.

Sử dụng dịch vụ proxy miễn phí, đáng tin cậy

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. 

Không sử dụng địa chỉ IP proxy có thể dự đoán được

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

Xem xét một dịch vụ proxy cao cấp

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.

Đi tìm proxy ưu tú

Dưới đây là ba loại proxy chính trên Internet.

  • Proxy ưu tú
  • Proxy ẩn danh
  • Proxy trong suốt
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.

Kết hợp xoay vòng IP với xoay vòng tác nhân người dù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. 

Câu hỏi thường gặp:

1. How to use proxies to rotate IP addresses using python?
Với sự trợ giúp của các yêu cầu thư viện python, bạn có thể xoay proxy một cách dễ dàng. Đầu tiên, tải xuống danh sách proxy miễn phí từ ProxyScrapeTrang web của bạn, thứ hai tạo một chức năng mà bạn có thể sử dụng để thực hiện toàn bộ quá trình xoay vòng IP; thứ ba, sử dụng chức năng đọc để đọc các proxy miễn phí đã tải xuống; Và cuối cùng, chạy tập lệnh bằng cách sử dụng vòng lặp để lấy proxy có sẵn cho một phiên.
2. Is there a proxy rotator available online?
Có, có các công cụ quay vòng proxy có sẵn trực tuyến. Thay vì xoay thủ công các proxy của trung tâm dữ liệu, bạn có thể sử dụng các công cụ quay vòng proxy này để thực hiện công việc nặng nhọc. Nhưng đây là những dịch vụ trả phí; Nếu bạn muốn có một công cụ quay vòng proxy miễn phí, thì việc xây dựng một công cụ quay vòng với sự trợ giúp của Python là cơ hội tốt nhất.
3. How do proxies help in web scraping?
Proxy giúp che giấu địa chỉ IP ban đầu của bạn và sử dụng địa chỉ IP của chúng để gửi một số yêu cầu đến máy chủ mục tiêu để có được thông tin cần thiết. Để quét web, bạn cần gửi nhiều yêu cầu một cách nhanh chóng, mà máy chủ mục tiêu có thể thấy là hành vi bất thường và chặn địa chỉ IP của bạn. Proxy giúp bạn tránh những tình huống như vậy.

Kết thúc

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