代理對於搞爬蟲的都不會陌生。公司有一批阿里雲服務器用於分佈式增量抓取,但對於一些封ip且只需進行一次全量抓取的數據源,或數據量級較小時,如果部署到爬蟲集羣上又太費事不值得。在網上找的免費代理可用性又太低,於是決定充分利用爬蟲服務器的網絡資源,在上面搭建自己的代理服務。

本文福利:私信回覆【PDF】可獲取Python電子書一套

一、squid搭建與配置過程

文中使用的服務器是centos系統。

二、安裝squid

使用yum直接安裝即可yum install squid -y,安裝完成後配置文件在/etc/squid/目錄下。

三、配置basic認證

不得不說現在網絡上掃描器實在太多了。筆者在一臺機器上使用默認端口3128開啓了squid服務,沒有配置訪問認證,測試結束後忘記關閉squid服務,過了幾個小時就發現服務器負載太高,查看日誌(/var/log/squid/)發現是已經被人掃到並用上了。

看來必需要配置訪問認證了

1.生成passwords文件 在本機上執行

# 安裝htpasswd工具 yum install httpd-tools -y # 生成passwords文件 htpasswd -c passwords authorized_user

2.輸入兩次密碼後生成passwords文件

配置squid認證 將passwords文件上傳到爬蟲服務器/etc/squid/目錄下,編輯/etc/squid/squid.conf文件,添加

四、高匿配置

squid默認配置爲透明代理,通過squid發送請求時squid會添加x-forwarded-for與via請求頭,對方會發現你在使用代理,並根據這個得知你的真實ip,對於爬取數據必需要使用高匿代理,在配置文件中添加如下內容

五、批量安裝

上面已經介紹了搭建與配置squid的步驟,下面介紹如何通過python批量安裝。首先需要通過ssh連接到服務器,使用paramiko庫可以通過ssh連接到遠程服務器,建立連接後執行上面的命令就可以了,沒什麼可說的就直接貼代碼了

理對於搞爬蟲的都不會陌生。公司有一批阿里雲服務器用於分佈式增量抓取,但對於一些封ip且只需進行一次全量抓取的數據源,或數據量級較小時,如果部署到爬蟲集羣上又太費事不值得。在網上找的免費代理可用性又太低,於是決定充分利用爬蟲服務器的網絡資源,在上面搭建自己的代理服務。

查看原文 >>
相關文章