Chúng ta thường bắt gặp thuật ngữ 'proxy' khi làm việc trong lĩnh vực khoa học máy tính. Khi được kết nối với Internet, mỗi máy tính sẽ có một địa chỉ Giao thức Internet (IP) duy nhất để xác định máy tính và vị trí địa lý của máy tính đó. Máy tính của bạn sẽ gửi yêu cầu bất cứ khi nào cần bất kỳ thông tin nào từ Internet. Yêu cầu là
Chúng ta thường bắt gặp thuật ngữ ' proxy ' khi làm việc trong lĩnh vực khoa học máy tính. Khi kết nối với Internet, mỗi máy tính đều có một địa chỉ Giao thức Internet (IP) duy nhất để xác định máy tính và vị trí địa lý của máy đó. Máy tính của bạn sẽ gửi yêu cầu bất cứ khi nào cần bất kỳ thông tin nào từ Internet. Yêu cầu được gửi đến máy tính mục tiêu để kiểm tra loại thông tin được yêu cầu. Máy tính mục tiêu sẽ gửi lại thông tin nếu được phép cung cấp thông tin đó cho địa chỉ IP của chúng ta. Đôi khi, máy tính muốn lấy thông tin từ Internet mà không bị nhận dạng. Thông tin đó thường bị chặn, nhưng chúng ta có thể lấy thông tin bằng cách sử dụng proxy đóng vai trò trung gian giữa máy khách và máy chủ.
Khách hàng thường sử dụng máy chủ proxy để duyệt các trang web và yêu cầu tài nguyên ẩn danh vì nó hoạt động như một trường nhận dạng giữa máy tính khách hàng và Internet.
Máy chủ proxy đã trở nên khá phổ biến với mối quan tâm ngày càng tăng về bảo mật trực tuyến và trộm cắp dữ liệu. Ở đây, câu hỏi đặt ra là máy chủ proxy được kết nối với bảo mật của hệ thống của chúng ta như thế nào? Chúng ta có thể nói rằng máy chủ proxy bổ sung thêm một cấp độ bảo mật giữa máy chủ của chúng ta và thế giới bên ngoài. Bảo mật bổ sung này giúp bảo vệ hệ thống của chúng ta khỏi bị vi phạm.
Để sử dụng proxy với các yêu cầu Python, bạn cần làm theo các bước dưới đây.
Nhập gói yêu cầu là một thư viện HTTP đơn giản. Bạn có thể dễ dàng gửi yêu cầu thông qua gói này mà không cần thêm chuỗi truy vấn thủ công vào URL của mình. Bạn có thể nhập yêu cầu bằng lệnh bên dưới.
yêu cầu nhập khẩu
Bạn cần tạo một từ điển proxy xác định kết nối HTTP và HTTPS. Bạn có thể đặt bất kỳ tên nào cho biến từ điển như "proxies" để ánh xạ giao thức tới URL proxy. Ngoài ra, bạn phải đặt biến URL thành trang web mà bạn phải thu thập dữ liệu.
proxies = {
"http":'http://203.190.46.62:8080',
"https":'https://111.68.26.237:8080'
}
url = 'https://httpbin.org/ip'
Ở đây từ điển định nghĩa URL của proxy cho hai giao thức riêng biệt là HTTP và HTTPS.
Bạn phải tạo một biến phản hồi sử dụng bất kỳ phương thức yêu cầu nào. Phương thức này có hai đối số:
phản hồi = yêu cầu. lấy (url,proxies = proxy) in (response.json())
Kết quả đầu ra như sau:
Có một số phương thức yêu cầu như sau:
Bạn có thể sử dụng cú pháp bên dưới của các phương thức yêu cầu khi URL được chỉ định. Ở đây, URL của chúng tôi giống như chúng tôi đã sử dụng trong mã trên, tức là https://httpbin.org/ip .
response = requests.get(url)
response = requests.post(url, data={"a": 1, "b": 2})
response = requests.put(url)
response = requests.delete(url)
response = requests.patch(url)
response = requests.head(url)
response = requests.options(url)
Nếu bạn muốn thu thập dữ liệu từ các trang web sử dụng phiên, bạn có thể làm theo các bước dưới đây.
Nhập thư viện yêu cầu.
yêu cầu nhập khẩu
Tạo một đối tượng phiên bằng cách tạo một biến phiên và thiết lập nó thành phương thức Session() của yêu cầu.
session = requests.Session()
session.proxies = {
'http': 'http://10.10.10.10:8000',
'https': 'http://10.10.10.10:8000',
}
url = 'http://mywebsite.com/example'
Gửi proxy phiên thông qua phương thức yêu cầu và truyền URL làm đối số.
phản hồi = session.get(url)
Chúng ta hãy thảo luận về hai loại proxy thiết yếu, đó là;
Proxy tĩnhProxy xoay
Chúng ta có thể định nghĩa proxy tĩnh là Giao thức Internet của trung tâm dữ liệu được chỉ định thông qua hợp đồng Nhà cung cấp dịch vụ Internet (ISP). Chúng được thiết kế để duy trì kết nối với một máy chủ proxy trong một khoảng thời gian nhất định. Tên "tĩnh" ngụ ý rằng nó cho phép chúng ta hoạt động như một người dùng dân dụng với cùng một IP trong thời gian cần thiết.
Tóm lại, với việc sử dụng proxy tĩnh, chúng ta có được tốc độ của proxy trung tâm dữ liệu và tính ẩn danh cao của proxy dân dụng . Hơn nữa, proxy tĩnh cho phép chúng ta tránh luân chuyển địa chỉ IP, giúp việc sử dụng nó đơn giản hơn đáng kể.
Các dịch vụ IP tĩnh không được tạo ra bằng cách sử dụng máy ảo, không giống như các proxy trung tâm dữ liệu thông thường. Các proxy này, còn được gọi là địa chỉ IP cố định, trông giống như người tiêu dùng thực sự đối với hầu hết các trang web.
Chúng ta có thể định nghĩa luân phiên proxy là tính năng thay đổi địa chỉ IP với mỗi yêu cầu mới mà chúng ta gửi đi.
Khi chúng ta truy cập một trang web, chúng ta gửi một yêu cầu cho máy chủ đích xem rất nhiều dữ liệu, bao gồm cả địa chỉ IP của chúng ta. Ví dụ, khi chúng ta thu thập dữ liệu bằng trình thu thập dữ liệu (để tạo khách hàng tiềm năng), chúng ta gửi nhiều yêu cầu như vậy. Vì vậy, máy chủ đích sẽ nghi ngờ và cấm khi hầu hết các yêu cầu đến từ cùng một IP.
Do đó, phải có giải pháp để thay đổi địa chỉ IP của chúng ta với mỗi yêu cầu chúng ta gửi đi. Giải pháp đó là một proxy luân phiên. Vì vậy, để tránh những rắc rối không cần thiết khi phải sử dụng một trình thu thập dữ liệu để luân phiên IP trong quá trình thu thập dữ liệu web, chúng ta có thể sử dụng proxy luân phiên và để nhà cung cấp của chúng ta xử lý việc luân phiên.
Sau đây là những lý do để sử dụng nhiều loại proxy khác nhau.
Cho đến nay, chúng ta đã thảo luận rằng proxy hoạt động như một rơle giữa máy khách và máy chủ. Bất cứ khi nào bạn yêu cầu thông tin, máy tính của bạn sẽ gửi yêu cầu này đến proxy, sau đó proxy sẽ gửi thông tin đến máy tính mục tiêu bằng một địa chỉ IP khác. Do đó, địa chỉ IP của bạn vẫn được bảo mật. Hơn nữa, bạn có thể sử dụng proxy với mô-đun yêu cầu trong Python và thực hiện nhiều hành động khác nhau tùy theo nhu cầu của bạn. Nếu bạn cần một IP tĩnh với tốc độ của proxy trung tâm dữ liệu và tính ẩn danh cao của proxy dân dụng , thì proxy tĩnh là giải pháp phù hợp vì địa chỉ IP không thay đổi với mỗi yêu cầu mới. Ngược lại, proxy xoay vòng mang lại lợi ích trong việc thử nghiệm và thu thập dữ liệu.