用Python開發了一個爬蟲代理搭建與批量安裝,方便快捷!
代理對於搞爬蟲的都不會陌生。公司有一批阿里雲服務器用於分佈式增量抓取,但對於一些封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且只需進行一次全量抓取的數據源,或數據量級較小時,如果部署到爬蟲集羣上又太費事不值得。在網上找的免費代理可用性又太低,於是決定充分利用爬蟲服務器的網絡資源,在上面搭建自己的代理服務。
查看原文 >>