腳本
海洋cms怎么設置寶塔手動(dòng)采集?
采集交流 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 757 次瀏覽 ? 2020-07-25 08:01
海洋cms寶塔手動(dòng)采集教程
海洋cms怎么設置寶塔手動(dòng)采集海洋cms采集文章,由于很多人在問(wèn)這個(gè)問(wèn)題所以就有了這個(gè)教程,海洋cms雖然給了腳本代碼,對于剛接觸海洋cms的用戶(hù)們理解上去并不是這么容易了,今天就深入的細化下海洋cms利用寶塔現實(shí)手動(dòng)采集的具體步驟。
海洋cms怎么設置寶塔手動(dòng)采集第一步:獲取腳本代碼。
【1】下面是海洋cms官網(wǎng)提供的手動(dòng)采集腳本代碼,我們須要更改代碼上面的3項后才可以使用。
#!/bin/bash
########################################################
# 程序名稱(chēng): 海洋CMS自動(dòng)采集腳本
# 版本信息:seacmsbot/ v2.0
# 發(fā)布鏈接: https://www.seacms.net/post-update-92579.htm
# 使用方法:直接復制代碼到寶塔計劃任務(wù)shell腳本內容里添加每小時(shí)任務(wù)使用
# 更新時(shí)間:2019.9.26
##########################################################
#①請修改下面的網(wǎng)站域名及管理目錄
web_site="http://網(wǎng)站域名/管理目錄/admin_reslib2.php"
#②請修改下面項內容為"admin_reslib2.php"里設置的訪(fǎng)問(wèn)密碼(默認為系統設置的cookie密碼)
web_pwd="8888e82e85bd4540f0defa3fb7a8e888"
#③下面項內容為資源站每日采集鏈接地址列表,請自行修改,每行一條,可添加多個(gè),前后需添加引號。
#每日采集鏈接獲取方法:選擇"后臺-采集-資源庫列表",復制資源站右邊的"采集每天"的鏈接地址,去掉?前面的內容。
web_api=(
'?ac=day&rid=1&url=https://api.iokzy.com/inc/ldg_ ... 39%3B
'?ac=day&rid=2&url=http://www.zdziyuan.com/inc/s_ ... 39%3B
)
#模擬用戶(hù)瀏覽器ua,請勿隨意修改,以免被目標防火墻攔截!
web_ua="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko)
Chrome/76.0.3809.100 Safari/537.36 seacmsbot/1.2;"
#采集單頁(yè)
function get_content() {
echo "正在采集第$page頁(yè)..."
#echo " get_content: --->url:--->$1"
cResult=$(curl --connect-timeout 10 -m 20 -k -s -L -A "$web_ua" "$1" )
echo $cResult | grep -q "采集"
#echo -e "$1\n$cResult"
if [ "$?" = "0" ]; then
next_content "$cResult"
else
echo -e "采集失敗,請檢查設置!\n失敗鏈接-->$1\n返回信息-->$cResult\n采集結束,共0頁(yè)"
fi
}
#采集下頁(yè)
function next_content() {
#統計數據
Result=$(echo "$1" | tr "<br>" "\n")
a=$(echo "$Result" | grep -c "采集成功")
b=$(echo "$Result" | grep -c "更新數據")
c=$(echo "$Result" | grep -c "無(wú)需更新")
d=$(echo "$Result" | grep -c "跳過(guò)")
echo "采集成功-->已更$c部,新增$a部,更新$b部,跳過(guò)$d部"
let add+=$a
let update+=$b
let none+=$c
let jmp+=$d
#檢測并采集下頁(yè)
next_url=${1##*location.href=\'}
next_url=${next_url%%\'*}
#echo $next_url
if [ "${next_url:0:1}" = "?" ]
then
let page++
get_content "$web_site$next_url"
else
echo "采集結束,共$page頁(yè)"
fi
}
#腳本入口
echo "海洋CMS自動(dòng)采集腳本開(kāi)始執行 版本:v1.2"
starttime=$(date +%s)
update=0 #更新
add=0 #新增
none=0 #無(wú)變化
jmp=0 # 跳過(guò)
for url in ${web_api[@]};
do
if [[ ! -z $url ]]
then
web_param="$web_site$url&password=$web_pwd"
page=1
echo "開(kāi)始采集:$url"
get_content $web_param
fi
done
endtime=$(date +%s)
echo "============================"
echo "入庫-->$add部"
echo "更新-->$update部"
echo "跳過(guò)-->$jmp部(未綁定分類(lèi)或鏈接錯誤)"
echo "今日-->$[none+add+update]部"
echo "============================"
echo "全部采集結束,耗時(shí)$[endtime - starttime]秒"
海洋cms怎么設置寶塔手動(dòng)采集第二步:修改腳本
【2】具體更改腳本上面的哪3項呢?下面為你一一說(shuō)來(lái)。(根據前面提供的代碼內容復制到記事本或是其他html編輯器來(lái)對應更改)
#①請修改下面的網(wǎng)站域名及管理目錄
web_site="http://網(wǎng)站域名/管理目錄/admin_reslib2.php"
這個(gè)是須要更改成你的“網(wǎng)站域名”和“海洋cms后臺的管理目錄”。域名你們都能理解,后臺的管理目錄這個(gè)對于菜鳥(niǎo)來(lái)說(shuō)須要多講兩句,首先你要能登入你的后臺才可以曉得你的后臺目錄。舉例說(shuō)明:假如我的后臺登陸地址是 /article/那么這兒的“article”就是后臺的管理目錄,得到了管理目錄我們直接填寫(xiě)到代碼里即可。
#②請修改下面項內容為"admin_reslib2.php"里設置的訪(fǎng)問(wèn)密碼(默認為系統設置的cookie密碼)
web_pwd="8888e82e85bd4540f0defa3fb7a8e888"
這個(gè)更改須要到海洋cms系統后臺得到我們的cookie密碼進(jìn)行替換才可以,具體步驟如下圖。得到自己網(wǎng)站的cookie密碼后替換即可。
#③下面項內容為資源站每日采集鏈接地址列表,請自行修改,每行一條,可添加多個(gè),前后需添加引號。
#每日采集鏈接獲取方法:選擇"后臺-采集-資源庫列表",復制資源站右邊的"采集每天"的鏈接地址,去掉?前面的內容。
web_api=(
'?ac=day&rid=1&url=https://api.iokzy.com/inc/ldg_ ... 39%3B
'?ac=day&rid=2&url=http://www.zdziyuan.com/inc/s_ ... 39%3B
)
這個(gè)是代碼里須要更改的最后一項,里面是代碼里默認提供的2個(gè)采集鏈接地址,我們須要獲取自己的采集鏈接地址添加到上面,具體獲取鏈接地址看下邊截圖的步驟操作。如果你還沒(méi)添加或是不懂如何添加采集可以參考幫助文檔-海洋cms如何添加資源庫采集接口
選擇"后臺-采集-資源庫列表",根據自己的選擇去復制資源站一側的"采集當天"“采集本周” “采集所有”的鏈接地址,去掉?前面的內容。(鼠標置于采集當天或是本周、所有上鍵盤(pán)右擊復制鏈接即可獲取采集鏈接)
比如這兒是:
1
http://127.0.0.1/admin/admin_r ... s.php
第二步:去掉上一步復制到的內容"?"前面的內容,結果如下:
2
?ac=day&rid=1&url=https://api.iokzy.com/inc/ldg_seackm3u8s.php
這樣就得到了最終的采集網(wǎng)址
海洋cms怎么設置寶塔手動(dòng)采集第三步:寶塔定時(shí)任務(wù)設置。
【3】直接復制代碼到寶塔計劃任務(wù)shell腳本,內容里添加每小時(shí)任務(wù)使用。具體操作步驟如下截圖。第⑤步是把我們更改好的腳本復制粘貼到腳本內容框里即可。
【4】總結
總的來(lái)說(shuō)就是把腳本上面須要更改的幾項更改完后海洋cms采集文章,復制更改好的腳本到寶塔的計劃任務(wù)設置下定時(shí)采集任務(wù)就可以了,任務(wù)類(lèi)型不要選錯。如果你對本教程不理解或是疑問(wèn)的地方可以加入社群進(jìn)行討論和尋問(wèn)。加入社群 查看全部

海洋cms寶塔手動(dòng)采集教程
海洋cms怎么設置寶塔手動(dòng)采集海洋cms采集文章,由于很多人在問(wèn)這個(gè)問(wèn)題所以就有了這個(gè)教程,海洋cms雖然給了腳本代碼,對于剛接觸海洋cms的用戶(hù)們理解上去并不是這么容易了,今天就深入的細化下海洋cms利用寶塔現實(shí)手動(dòng)采集的具體步驟。
海洋cms怎么設置寶塔手動(dòng)采集第一步:獲取腳本代碼。
【1】下面是海洋cms官網(wǎng)提供的手動(dòng)采集腳本代碼,我們須要更改代碼上面的3項后才可以使用。
#!/bin/bash
########################################################
# 程序名稱(chēng): 海洋CMS自動(dòng)采集腳本
# 版本信息:seacmsbot/ v2.0
# 發(fā)布鏈接: https://www.seacms.net/post-update-92579.htm
# 使用方法:直接復制代碼到寶塔計劃任務(wù)shell腳本內容里添加每小時(shí)任務(wù)使用
# 更新時(shí)間:2019.9.26
##########################################################
#①請修改下面的網(wǎng)站域名及管理目錄
web_site="http://網(wǎng)站域名/管理目錄/admin_reslib2.php"
#②請修改下面項內容為"admin_reslib2.php"里設置的訪(fǎng)問(wèn)密碼(默認為系統設置的cookie密碼)
web_pwd="8888e82e85bd4540f0defa3fb7a8e888"
#③下面項內容為資源站每日采集鏈接地址列表,請自行修改,每行一條,可添加多個(gè),前后需添加引號。
#每日采集鏈接獲取方法:選擇"后臺-采集-資源庫列表",復制資源站右邊的"采集每天"的鏈接地址,去掉?前面的內容。
web_api=(
'?ac=day&rid=1&url=https://api.iokzy.com/inc/ldg_ ... 39%3B
'?ac=day&rid=2&url=http://www.zdziyuan.com/inc/s_ ... 39%3B
)
#模擬用戶(hù)瀏覽器ua,請勿隨意修改,以免被目標防火墻攔截!
web_ua="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko)
Chrome/76.0.3809.100 Safari/537.36 seacmsbot/1.2;"
#采集單頁(yè)
function get_content() {
echo "正在采集第$page頁(yè)..."
#echo " get_content: --->url:--->$1"
cResult=$(curl --connect-timeout 10 -m 20 -k -s -L -A "$web_ua" "$1" )
echo $cResult | grep -q "采集"
#echo -e "$1\n$cResult"
if [ "$?" = "0" ]; then
next_content "$cResult"
else
echo -e "采集失敗,請檢查設置!\n失敗鏈接-->$1\n返回信息-->$cResult\n采集結束,共0頁(yè)"
fi
}
#采集下頁(yè)
function next_content() {
#統計數據
Result=$(echo "$1" | tr "<br>" "\n")
a=$(echo "$Result" | grep -c "采集成功")
b=$(echo "$Result" | grep -c "更新數據")
c=$(echo "$Result" | grep -c "無(wú)需更新")
d=$(echo "$Result" | grep -c "跳過(guò)")
echo "采集成功-->已更$c部,新增$a部,更新$b部,跳過(guò)$d部"
let add+=$a
let update+=$b
let none+=$c
let jmp+=$d
#檢測并采集下頁(yè)
next_url=${1##*location.href=\'}
next_url=${next_url%%\'*}
#echo $next_url
if [ "${next_url:0:1}" = "?" ]
then
let page++
get_content "$web_site$next_url"
else
echo "采集結束,共$page頁(yè)"
fi
}
#腳本入口
echo "海洋CMS自動(dòng)采集腳本開(kāi)始執行 版本:v1.2"
starttime=$(date +%s)
update=0 #更新
add=0 #新增
none=0 #無(wú)變化
jmp=0 # 跳過(guò)
for url in ${web_api[@]};
do
if [[ ! -z $url ]]
then
web_param="$web_site$url&password=$web_pwd"
page=1
echo "開(kāi)始采集:$url"
get_content $web_param
fi
done
endtime=$(date +%s)
echo "============================"
echo "入庫-->$add部"
echo "更新-->$update部"
echo "跳過(guò)-->$jmp部(未綁定分類(lèi)或鏈接錯誤)"
echo "今日-->$[none+add+update]部"
echo "============================"
echo "全部采集結束,耗時(shí)$[endtime - starttime]秒"
海洋cms怎么設置寶塔手動(dòng)采集第二步:修改腳本
【2】具體更改腳本上面的哪3項呢?下面為你一一說(shuō)來(lái)。(根據前面提供的代碼內容復制到記事本或是其他html編輯器來(lái)對應更改)
#①請修改下面的網(wǎng)站域名及管理目錄
web_site="http://網(wǎng)站域名/管理目錄/admin_reslib2.php"
這個(gè)是須要更改成你的“網(wǎng)站域名”和“海洋cms后臺的管理目錄”。域名你們都能理解,后臺的管理目錄這個(gè)對于菜鳥(niǎo)來(lái)說(shuō)須要多講兩句,首先你要能登入你的后臺才可以曉得你的后臺目錄。舉例說(shuō)明:假如我的后臺登陸地址是 /article/那么這兒的“article”就是后臺的管理目錄,得到了管理目錄我們直接填寫(xiě)到代碼里即可。
#②請修改下面項內容為"admin_reslib2.php"里設置的訪(fǎng)問(wèn)密碼(默認為系統設置的cookie密碼)
web_pwd="8888e82e85bd4540f0defa3fb7a8e888"
這個(gè)更改須要到海洋cms系統后臺得到我們的cookie密碼進(jìn)行替換才可以,具體步驟如下圖。得到自己網(wǎng)站的cookie密碼后替換即可。

#③下面項內容為資源站每日采集鏈接地址列表,請自行修改,每行一條,可添加多個(gè),前后需添加引號。
#每日采集鏈接獲取方法:選擇"后臺-采集-資源庫列表",復制資源站右邊的"采集每天"的鏈接地址,去掉?前面的內容。
web_api=(
'?ac=day&rid=1&url=https://api.iokzy.com/inc/ldg_ ... 39%3B
'?ac=day&rid=2&url=http://www.zdziyuan.com/inc/s_ ... 39%3B
)
這個(gè)是代碼里須要更改的最后一項,里面是代碼里默認提供的2個(gè)采集鏈接地址,我們須要獲取自己的采集鏈接地址添加到上面,具體獲取鏈接地址看下邊截圖的步驟操作。如果你還沒(méi)添加或是不懂如何添加采集可以參考幫助文檔-海洋cms如何添加資源庫采集接口
選擇"后臺-采集-資源庫列表",根據自己的選擇去復制資源站一側的"采集當天"“采集本周” “采集所有”的鏈接地址,去掉?前面的內容。(鼠標置于采集當天或是本周、所有上鍵盤(pán)右擊復制鏈接即可獲取采集鏈接)

比如這兒是:
1
http://127.0.0.1/admin/admin_r ... s.php
第二步:去掉上一步復制到的內容"?"前面的內容,結果如下:
2
?ac=day&rid=1&url=https://api.iokzy.com/inc/ldg_seackm3u8s.php
這樣就得到了最終的采集網(wǎng)址
海洋cms怎么設置寶塔手動(dòng)采集第三步:寶塔定時(shí)任務(wù)設置。
【3】直接復制代碼到寶塔計劃任務(wù)shell腳本,內容里添加每小時(shí)任務(wù)使用。具體操作步驟如下截圖。第⑤步是把我們更改好的腳本復制粘貼到腳本內容框里即可。

【4】總結
總的來(lái)說(shuō)就是把腳本上面須要更改的幾項更改完后海洋cms采集文章,復制更改好的腳本到寶塔的計劃任務(wù)設置下定時(shí)采集任務(wù)就可以了,任務(wù)類(lèi)型不要選錯。如果你對本教程不理解或是疑問(wèn)的地方可以加入社群進(jìn)行討論和尋問(wèn)。加入社群
防止網(wǎng)站被爬蟲(chóng)爬取的幾種解決辦法
采集交流 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 299 次瀏覽 ? 2020-06-02 08:00
#! /bin/bash
LOGFILE=/var/log/nginx/access.log
PREFIX=/etc/spiders
#日志中大部分蜘蛛都有spider的關(guān)鍵字,但是百度的不能封,所以過(guò)濾掉百度
grep 'spider' $LOGFILE |grep -v 'Baidu' |awk '{print $1}' >$PREFIX/ip1.txt
# 封掉網(wǎng)易的有道
grep 'YoudaoBot' $LOGFILE | awk '{print $1}' >>$PREFIX/ip1.txt
#封掉雅虎
grep 'Yahoo!' $LOGFILE | awk '{print $1}' >>$PREFIX/ip1.txt
# 過(guò)濾掉信任IP
sort -n $PREFIX/ip1.txt |uniq |sort |grep -v '192.168.0.' |grep -v '127.0.0.1'>$PREFIX/ip2.txt
# 如果一小時(shí)內,發(fā)包不超過(guò)30個(gè)就要解封
/sbin/iptables -nvL |awk '$1 <= 30 {print $8}' >$PREFIX/ip3.txt
for ip in `cat $PREFIX/ip3.txt`; do /sbin/iptables -D INPUT -s $ip -j DROP ; done
/sbin/iptables -Z // 將iptables計數器置為0
for ip in `cat $PREFIX/ip2.txt`; do /sbin/iptables -I INPUT -s $ip -j DROP ; done
3.使用robots.txt文件:例如阻止所有的爬蟲(chóng)爬取,但是這種效果不是很明顯。
User-agent: *
Disallow: /
4.使用nginx的自帶功能:通過(guò)對httpuseragent阻塞來(lái)實(shí)現,包括GET/POST方式的請求,以nginx為例,具體步驟如下:
編輯nginx.conf
#vim /usr/local/nginx/conf/nginx.conf
拒絕以wget方式的httpuseragent,增加如下內容
## Block http user agent - wget ##
if ($http_user_agent ~* (Wget) ) {
return 403;
}
## Block Software download user agents ##
if ($http_user_agent ~* LWP::Simple|BBBike|wget) {
return 403;
}
平滑啟動(dòng)
# /usr/local/nginx/sbin/nginx -s reload
如何拒絕多種httpuseragent,內容如下:
if ($http_user_agent ~ (agent1|agent2|Foo|Wget|Catall Spider|AcoiRobot) ) {
return 403;
}
大小寫(xiě)敏感匹配
### 大小寫(xiě)敏感http user agent拒絕###
if ($http_user_agent ~ (Catall Spider|AcoiRobot) ) {
return 403;
}
### 大小寫(xiě)不敏感http user agent拒絕###
if ($http_user_agent ~* (foo|bar) ) {
return 403;
}
以上是腳本之家(jb51.cc)為你搜集整理的全部代碼內容,希望文章能夠幫你解決所遇見(jiàn)的程序開(kāi)發(fā)問(wèn)題。
如果認為腳本之家網(wǎng)站內容還不錯網(wǎng)頁(yè)如何防止爬蟲(chóng),歡迎將腳本之家網(wǎng)站推薦給程序員好友。
以上是腳本之家為你搜集整理的避免網(wǎng)站被爬蟲(chóng)爬取的幾種解決辦法全部?jì)热?,希望文章能夠幫你解決避免網(wǎng)站被爬蟲(chóng)爬取的幾種解決辦法所遇見(jiàn)的程序開(kāi)發(fā)問(wèn)題。
如果認為腳本之家網(wǎng)站內容還不錯網(wǎng)頁(yè)如何防止爬蟲(chóng),歡迎將腳本之家網(wǎng)站推薦給程序員好友。 查看全部
LOGFILE=/var/log/nginx/access.log
PREFIX=/etc/spiders
#日志中大部分蜘蛛都有spider的關(guān)鍵字,但是百度的不能封,所以過(guò)濾掉百度
grep 'spider' $LOGFILE |grep -v 'Baidu' |awk '{print $1}' >$PREFIX/ip1.txt
# 封掉網(wǎng)易的有道
grep 'YoudaoBot' $LOGFILE | awk '{print $1}' >>$PREFIX/ip1.txt
#封掉雅虎
grep 'Yahoo!' $LOGFILE | awk '{print $1}' >>$PREFIX/ip1.txt
# 過(guò)濾掉信任IP
sort -n $PREFIX/ip1.txt |uniq |sort |grep -v '192.168.0.' |grep -v '127.0.0.1'>$PREFIX/ip2.txt
# 如果一小時(shí)內,發(fā)包不超過(guò)30個(gè)就要解封
/sbin/iptables -nvL |awk '$1 <= 30 {print $8}' >$PREFIX/ip3.txt
for ip in `cat $PREFIX/ip3.txt`; do /sbin/iptables -D INPUT -s $ip -j DROP ; done
/sbin/iptables -Z // 將iptables計數器置為0
for ip in `cat $PREFIX/ip2.txt`; do /sbin/iptables -I INPUT -s $ip -j DROP ; done
3.使用robots.txt文件:例如阻止所有的爬蟲(chóng)爬取,但是這種效果不是很明顯。
User-agent: *
Disallow: /
4.使用nginx的自帶功能:通過(guò)對httpuseragent阻塞來(lái)實(shí)現,包括GET/POST方式的請求,以nginx為例,具體步驟如下:
編輯nginx.conf
#vim /usr/local/nginx/conf/nginx.conf
拒絕以wget方式的httpuseragent,增加如下內容
## Block http user agent - wget ##
if ($http_user_agent ~* (Wget) ) {
return 403;
}
## Block Software download user agents ##
if ($http_user_agent ~* LWP::Simple|BBBike|wget) {
return 403;
}
平滑啟動(dòng)
# /usr/local/nginx/sbin/nginx -s reload
如何拒絕多種httpuseragent,內容如下:
if ($http_user_agent ~ (agent1|agent2|Foo|Wget|Catall Spider|AcoiRobot) ) {
return 403;
}
大小寫(xiě)敏感匹配
### 大小寫(xiě)敏感http user agent拒絕###
if ($http_user_agent ~ (Catall Spider|AcoiRobot) ) {
return 403;
}
### 大小寫(xiě)不敏感http user agent拒絕###
if ($http_user_agent ~* (foo|bar) ) {
return 403;
}
以上是腳本之家(jb51.cc)為你搜集整理的全部代碼內容,希望文章能夠幫你解決所遇見(jiàn)的程序開(kāi)發(fā)問(wèn)題。
如果認為腳本之家網(wǎng)站內容還不錯網(wǎng)頁(yè)如何防止爬蟲(chóng),歡迎將腳本之家網(wǎng)站推薦給程序員好友。
以上是腳本之家為你搜集整理的避免網(wǎng)站被爬蟲(chóng)爬取的幾種解決辦法全部?jì)热?,希望文章能夠幫你解決避免網(wǎng)站被爬蟲(chóng)爬取的幾種解決辦法所遇見(jiàn)的程序開(kāi)發(fā)問(wèn)題。
如果認為腳本之家網(wǎng)站內容還不錯網(wǎng)頁(yè)如何防止爬蟲(chóng),歡迎將腳本之家網(wǎng)站推薦給程序員好友。 查看全部
#! /bin/bash
LOGFILE=/var/log/nginx/access.log
PREFIX=/etc/spiders
#日志中大部分蜘蛛都有spider的關(guān)鍵字,但是百度的不能封,所以過(guò)濾掉百度
grep 'spider' $LOGFILE |grep -v 'Baidu' |awk '{print $1}' >$PREFIX/ip1.txt
# 封掉網(wǎng)易的有道
grep 'YoudaoBot' $LOGFILE | awk '{print $1}' >>$PREFIX/ip1.txt
#封掉雅虎
grep 'Yahoo!' $LOGFILE | awk '{print $1}' >>$PREFIX/ip1.txt
# 過(guò)濾掉信任IP
sort -n $PREFIX/ip1.txt |uniq |sort |grep -v '192.168.0.' |grep -v '127.0.0.1'>$PREFIX/ip2.txt
# 如果一小時(shí)內,發(fā)包不超過(guò)30個(gè)就要解封
/sbin/iptables -nvL |awk '$1 <= 30 {print $8}' >$PREFIX/ip3.txt
for ip in `cat $PREFIX/ip3.txt`; do /sbin/iptables -D INPUT -s $ip -j DROP ; done
/sbin/iptables -Z // 將iptables計數器置為0
for ip in `cat $PREFIX/ip2.txt`; do /sbin/iptables -I INPUT -s $ip -j DROP ; done
3.使用robots.txt文件:例如阻止所有的爬蟲(chóng)爬取,但是這種效果不是很明顯。
User-agent: *
Disallow: /
4.使用nginx的自帶功能:通過(guò)對httpuseragent阻塞來(lái)實(shí)現,包括GET/POST方式的請求,以nginx為例,具體步驟如下:
編輯nginx.conf
#vim /usr/local/nginx/conf/nginx.conf
拒絕以wget方式的httpuseragent,增加如下內容
## Block http user agent - wget ##
if ($http_user_agent ~* (Wget) ) {
return 403;
}
## Block Software download user agents ##
if ($http_user_agent ~* LWP::Simple|BBBike|wget) {
return 403;
}
平滑啟動(dòng)
# /usr/local/nginx/sbin/nginx -s reload
如何拒絕多種httpuseragent,內容如下:
if ($http_user_agent ~ (agent1|agent2|Foo|Wget|Catall Spider|AcoiRobot) ) {
return 403;
}
大小寫(xiě)敏感匹配
### 大小寫(xiě)敏感http user agent拒絕###
if ($http_user_agent ~ (Catall Spider|AcoiRobot) ) {
return 403;
}
### 大小寫(xiě)不敏感http user agent拒絕###
if ($http_user_agent ~* (foo|bar) ) {
return 403;
}
以上是腳本之家(jb51.cc)為你搜集整理的全部代碼內容,希望文章能夠幫你解決所遇見(jiàn)的程序開(kāi)發(fā)問(wèn)題。
如果認為腳本之家網(wǎng)站內容還不錯網(wǎng)頁(yè)如何防止爬蟲(chóng),歡迎將腳本之家網(wǎng)站推薦給程序員好友。
以上是腳本之家為你搜集整理的避免網(wǎng)站被爬蟲(chóng)爬取的幾種解決辦法全部?jì)热?,希望文章能夠幫你解決避免網(wǎng)站被爬蟲(chóng)爬取的幾種解決辦法所遇見(jiàn)的程序開(kāi)發(fā)問(wèn)題。
如果認為腳本之家網(wǎng)站內容還不錯網(wǎng)頁(yè)如何防止爬蟲(chóng),歡迎將腳本之家網(wǎng)站推薦給程序員好友。
海洋cms怎么設置寶塔手動(dòng)采集?
采集交流 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 757 次瀏覽 ? 2020-07-25 08:01
海洋cms寶塔手動(dòng)采集教程
海洋cms怎么設置寶塔手動(dòng)采集海洋cms采集文章,由于很多人在問(wèn)這個(gè)問(wèn)題所以就有了這個(gè)教程,海洋cms雖然給了腳本代碼,對于剛接觸海洋cms的用戶(hù)們理解上去并不是這么容易了,今天就深入的細化下海洋cms利用寶塔現實(shí)手動(dòng)采集的具體步驟。
海洋cms怎么設置寶塔手動(dòng)采集第一步:獲取腳本代碼。
【1】下面是海洋cms官網(wǎng)提供的手動(dòng)采集腳本代碼,我們須要更改代碼上面的3項后才可以使用。
#!/bin/bash
########################################################
# 程序名稱(chēng): 海洋CMS自動(dòng)采集腳本
# 版本信息:seacmsbot/ v2.0
# 發(fā)布鏈接: https://www.seacms.net/post-update-92579.htm
# 使用方法:直接復制代碼到寶塔計劃任務(wù)shell腳本內容里添加每小時(shí)任務(wù)使用
# 更新時(shí)間:2019.9.26
##########################################################
#①請修改下面的網(wǎng)站域名及管理目錄
web_site="http://網(wǎng)站域名/管理目錄/admin_reslib2.php"
#②請修改下面項內容為"admin_reslib2.php"里設置的訪(fǎng)問(wèn)密碼(默認為系統設置的cookie密碼)
web_pwd="8888e82e85bd4540f0defa3fb7a8e888"
#③下面項內容為資源站每日采集鏈接地址列表,請自行修改,每行一條,可添加多個(gè),前后需添加引號。
#每日采集鏈接獲取方法:選擇"后臺-采集-資源庫列表",復制資源站右邊的"采集每天"的鏈接地址,去掉?前面的內容。
web_api=(
'?ac=day&rid=1&url=https://api.iokzy.com/inc/ldg_ ... 39%3B
'?ac=day&rid=2&url=http://www.zdziyuan.com/inc/s_ ... 39%3B
)
#模擬用戶(hù)瀏覽器ua,請勿隨意修改,以免被目標防火墻攔截!
web_ua="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko)
Chrome/76.0.3809.100 Safari/537.36 seacmsbot/1.2;"
#采集單頁(yè)
function get_content() {
echo "正在采集第$page頁(yè)..."
#echo " get_content: --->url:--->$1"
cResult=$(curl --connect-timeout 10 -m 20 -k -s -L -A "$web_ua" "$1" )
echo $cResult | grep -q "采集"
#echo -e "$1\n$cResult"
if [ "$?" = "0" ]; then
next_content "$cResult"
else
echo -e "采集失敗,請檢查設置!\n失敗鏈接-->$1\n返回信息-->$cResult\n采集結束,共0頁(yè)"
fi
}
#采集下頁(yè)
function next_content() {
#統計數據
Result=$(echo "$1" | tr "<br>" "\n")
a=$(echo "$Result" | grep -c "采集成功")
b=$(echo "$Result" | grep -c "更新數據")
c=$(echo "$Result" | grep -c "無(wú)需更新")
d=$(echo "$Result" | grep -c "跳過(guò)")
echo "采集成功-->已更$c部,新增$a部,更新$b部,跳過(guò)$d部"
let add+=$a
let update+=$b
let none+=$c
let jmp+=$d
#檢測并采集下頁(yè)
next_url=${1##*location.href=\'}
next_url=${next_url%%\'*}
#echo $next_url
if [ "${next_url:0:1}" = "?" ]
then
let page++
get_content "$web_site$next_url"
else
echo "采集結束,共$page頁(yè)"
fi
}
#腳本入口
echo "海洋CMS自動(dòng)采集腳本開(kāi)始執行 版本:v1.2"
starttime=$(date +%s)
update=0 #更新
add=0 #新增
none=0 #無(wú)變化
jmp=0 # 跳過(guò)
for url in ${web_api[@]};
do
if [[ ! -z $url ]]
then
web_param="$web_site$url&password=$web_pwd"
page=1
echo "開(kāi)始采集:$url"
get_content $web_param
fi
done
endtime=$(date +%s)
echo "============================"
echo "入庫-->$add部"
echo "更新-->$update部"
echo "跳過(guò)-->$jmp部(未綁定分類(lèi)或鏈接錯誤)"
echo "今日-->$[none+add+update]部"
echo "============================"
echo "全部采集結束,耗時(shí)$[endtime - starttime]秒"
海洋cms怎么設置寶塔手動(dòng)采集第二步:修改腳本
【2】具體更改腳本上面的哪3項呢?下面為你一一說(shuō)來(lái)。(根據前面提供的代碼內容復制到記事本或是其他html編輯器來(lái)對應更改)
#①請修改下面的網(wǎng)站域名及管理目錄
web_site="http://網(wǎng)站域名/管理目錄/admin_reslib2.php"
這個(gè)是須要更改成你的“網(wǎng)站域名”和“海洋cms后臺的管理目錄”。域名你們都能理解,后臺的管理目錄這個(gè)對于菜鳥(niǎo)來(lái)說(shuō)須要多講兩句,首先你要能登入你的后臺才可以曉得你的后臺目錄。舉例說(shuō)明:假如我的后臺登陸地址是 /article/那么這兒的“article”就是后臺的管理目錄,得到了管理目錄我們直接填寫(xiě)到代碼里即可。
#②請修改下面項內容為"admin_reslib2.php"里設置的訪(fǎng)問(wèn)密碼(默認為系統設置的cookie密碼)
web_pwd="8888e82e85bd4540f0defa3fb7a8e888"
這個(gè)更改須要到海洋cms系統后臺得到我們的cookie密碼進(jìn)行替換才可以,具體步驟如下圖。得到自己網(wǎng)站的cookie密碼后替換即可。
#③下面項內容為資源站每日采集鏈接地址列表,請自行修改,每行一條,可添加多個(gè),前后需添加引號。
#每日采集鏈接獲取方法:選擇"后臺-采集-資源庫列表",復制資源站右邊的"采集每天"的鏈接地址,去掉?前面的內容。
web_api=(
'?ac=day&rid=1&url=https://api.iokzy.com/inc/ldg_ ... 39%3B
'?ac=day&rid=2&url=http://www.zdziyuan.com/inc/s_ ... 39%3B
)
這個(gè)是代碼里須要更改的最后一項,里面是代碼里默認提供的2個(gè)采集鏈接地址,我們須要獲取自己的采集鏈接地址添加到上面,具體獲取鏈接地址看下邊截圖的步驟操作。如果你還沒(méi)添加或是不懂如何添加采集可以參考幫助文檔-海洋cms如何添加資源庫采集接口
選擇"后臺-采集-資源庫列表",根據自己的選擇去復制資源站一側的"采集當天"“采集本周” “采集所有”的鏈接地址,去掉?前面的內容。(鼠標置于采集當天或是本周、所有上鍵盤(pán)右擊復制鏈接即可獲取采集鏈接)
比如這兒是:
1
http://127.0.0.1/admin/admin_r ... s.php
第二步:去掉上一步復制到的內容"?"前面的內容,結果如下:
2
?ac=day&rid=1&url=https://api.iokzy.com/inc/ldg_seackm3u8s.php
這樣就得到了最終的采集網(wǎng)址
海洋cms怎么設置寶塔手動(dòng)采集第三步:寶塔定時(shí)任務(wù)設置。
【3】直接復制代碼到寶塔計劃任務(wù)shell腳本,內容里添加每小時(shí)任務(wù)使用。具體操作步驟如下截圖。第⑤步是把我們更改好的腳本復制粘貼到腳本內容框里即可。
【4】總結
總的來(lái)說(shuō)就是把腳本上面須要更改的幾項更改完后海洋cms采集文章,復制更改好的腳本到寶塔的計劃任務(wù)設置下定時(shí)采集任務(wù)就可以了,任務(wù)類(lèi)型不要選錯。如果你對本教程不理解或是疑問(wèn)的地方可以加入社群進(jìn)行討論和尋問(wèn)。加入社群 查看全部

海洋cms寶塔手動(dòng)采集教程
海洋cms怎么設置寶塔手動(dòng)采集海洋cms采集文章,由于很多人在問(wèn)這個(gè)問(wèn)題所以就有了這個(gè)教程,海洋cms雖然給了腳本代碼,對于剛接觸海洋cms的用戶(hù)們理解上去并不是這么容易了,今天就深入的細化下海洋cms利用寶塔現實(shí)手動(dòng)采集的具體步驟。
海洋cms怎么設置寶塔手動(dòng)采集第一步:獲取腳本代碼。
【1】下面是海洋cms官網(wǎng)提供的手動(dòng)采集腳本代碼,我們須要更改代碼上面的3項后才可以使用。
#!/bin/bash
########################################################
# 程序名稱(chēng): 海洋CMS自動(dòng)采集腳本
# 版本信息:seacmsbot/ v2.0
# 發(fā)布鏈接: https://www.seacms.net/post-update-92579.htm
# 使用方法:直接復制代碼到寶塔計劃任務(wù)shell腳本內容里添加每小時(shí)任務(wù)使用
# 更新時(shí)間:2019.9.26
##########################################################
#①請修改下面的網(wǎng)站域名及管理目錄
web_site="http://網(wǎng)站域名/管理目錄/admin_reslib2.php"
#②請修改下面項內容為"admin_reslib2.php"里設置的訪(fǎng)問(wèn)密碼(默認為系統設置的cookie密碼)
web_pwd="8888e82e85bd4540f0defa3fb7a8e888"
#③下面項內容為資源站每日采集鏈接地址列表,請自行修改,每行一條,可添加多個(gè),前后需添加引號。
#每日采集鏈接獲取方法:選擇"后臺-采集-資源庫列表",復制資源站右邊的"采集每天"的鏈接地址,去掉?前面的內容。
web_api=(
'?ac=day&rid=1&url=https://api.iokzy.com/inc/ldg_ ... 39%3B
'?ac=day&rid=2&url=http://www.zdziyuan.com/inc/s_ ... 39%3B
)
#模擬用戶(hù)瀏覽器ua,請勿隨意修改,以免被目標防火墻攔截!
web_ua="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko)
Chrome/76.0.3809.100 Safari/537.36 seacmsbot/1.2;"
#采集單頁(yè)
function get_content() {
echo "正在采集第$page頁(yè)..."
#echo " get_content: --->url:--->$1"
cResult=$(curl --connect-timeout 10 -m 20 -k -s -L -A "$web_ua" "$1" )
echo $cResult | grep -q "采集"
#echo -e "$1\n$cResult"
if [ "$?" = "0" ]; then
next_content "$cResult"
else
echo -e "采集失敗,請檢查設置!\n失敗鏈接-->$1\n返回信息-->$cResult\n采集結束,共0頁(yè)"
fi
}
#采集下頁(yè)
function next_content() {
#統計數據
Result=$(echo "$1" | tr "<br>" "\n")
a=$(echo "$Result" | grep -c "采集成功")
b=$(echo "$Result" | grep -c "更新數據")
c=$(echo "$Result" | grep -c "無(wú)需更新")
d=$(echo "$Result" | grep -c "跳過(guò)")
echo "采集成功-->已更$c部,新增$a部,更新$b部,跳過(guò)$d部"
let add+=$a
let update+=$b
let none+=$c
let jmp+=$d
#檢測并采集下頁(yè)
next_url=${1##*location.href=\'}
next_url=${next_url%%\'*}
#echo $next_url
if [ "${next_url:0:1}" = "?" ]
then
let page++
get_content "$web_site$next_url"
else
echo "采集結束,共$page頁(yè)"
fi
}
#腳本入口
echo "海洋CMS自動(dòng)采集腳本開(kāi)始執行 版本:v1.2"
starttime=$(date +%s)
update=0 #更新
add=0 #新增
none=0 #無(wú)變化
jmp=0 # 跳過(guò)
for url in ${web_api[@]};
do
if [[ ! -z $url ]]
then
web_param="$web_site$url&password=$web_pwd"
page=1
echo "開(kāi)始采集:$url"
get_content $web_param
fi
done
endtime=$(date +%s)
echo "============================"
echo "入庫-->$add部"
echo "更新-->$update部"
echo "跳過(guò)-->$jmp部(未綁定分類(lèi)或鏈接錯誤)"
echo "今日-->$[none+add+update]部"
echo "============================"
echo "全部采集結束,耗時(shí)$[endtime - starttime]秒"
海洋cms怎么設置寶塔手動(dòng)采集第二步:修改腳本
【2】具體更改腳本上面的哪3項呢?下面為你一一說(shuō)來(lái)。(根據前面提供的代碼內容復制到記事本或是其他html編輯器來(lái)對應更改)
#①請修改下面的網(wǎng)站域名及管理目錄
web_site="http://網(wǎng)站域名/管理目錄/admin_reslib2.php"
這個(gè)是須要更改成你的“網(wǎng)站域名”和“海洋cms后臺的管理目錄”。域名你們都能理解,后臺的管理目錄這個(gè)對于菜鳥(niǎo)來(lái)說(shuō)須要多講兩句,首先你要能登入你的后臺才可以曉得你的后臺目錄。舉例說(shuō)明:假如我的后臺登陸地址是 /article/那么這兒的“article”就是后臺的管理目錄,得到了管理目錄我們直接填寫(xiě)到代碼里即可。
#②請修改下面項內容為"admin_reslib2.php"里設置的訪(fǎng)問(wèn)密碼(默認為系統設置的cookie密碼)
web_pwd="8888e82e85bd4540f0defa3fb7a8e888"
這個(gè)更改須要到海洋cms系統后臺得到我們的cookie密碼進(jìn)行替換才可以,具體步驟如下圖。得到自己網(wǎng)站的cookie密碼后替換即可。

#③下面項內容為資源站每日采集鏈接地址列表,請自行修改,每行一條,可添加多個(gè),前后需添加引號。
#每日采集鏈接獲取方法:選擇"后臺-采集-資源庫列表",復制資源站右邊的"采集每天"的鏈接地址,去掉?前面的內容。
web_api=(
'?ac=day&rid=1&url=https://api.iokzy.com/inc/ldg_ ... 39%3B
'?ac=day&rid=2&url=http://www.zdziyuan.com/inc/s_ ... 39%3B
)
這個(gè)是代碼里須要更改的最后一項,里面是代碼里默認提供的2個(gè)采集鏈接地址,我們須要獲取自己的采集鏈接地址添加到上面,具體獲取鏈接地址看下邊截圖的步驟操作。如果你還沒(méi)添加或是不懂如何添加采集可以參考幫助文檔-海洋cms如何添加資源庫采集接口
選擇"后臺-采集-資源庫列表",根據自己的選擇去復制資源站一側的"采集當天"“采集本周” “采集所有”的鏈接地址,去掉?前面的內容。(鼠標置于采集當天或是本周、所有上鍵盤(pán)右擊復制鏈接即可獲取采集鏈接)

比如這兒是:
1
http://127.0.0.1/admin/admin_r ... s.php
第二步:去掉上一步復制到的內容"?"前面的內容,結果如下:
2
?ac=day&rid=1&url=https://api.iokzy.com/inc/ldg_seackm3u8s.php
這樣就得到了最終的采集網(wǎng)址
海洋cms怎么設置寶塔手動(dòng)采集第三步:寶塔定時(shí)任務(wù)設置。
【3】直接復制代碼到寶塔計劃任務(wù)shell腳本,內容里添加每小時(shí)任務(wù)使用。具體操作步驟如下截圖。第⑤步是把我們更改好的腳本復制粘貼到腳本內容框里即可。

【4】總結
總的來(lái)說(shuō)就是把腳本上面須要更改的幾項更改完后海洋cms采集文章,復制更改好的腳本到寶塔的計劃任務(wù)設置下定時(shí)采集任務(wù)就可以了,任務(wù)類(lèi)型不要選錯。如果你對本教程不理解或是疑問(wèn)的地方可以加入社群進(jìn)行討論和尋問(wèn)。加入社群
防止網(wǎng)站被爬蟲(chóng)爬取的幾種解決辦法
采集交流 ? 優(yōu)采云 發(fā)表了文章 ? 0 個(gè)評論 ? 299 次瀏覽 ? 2020-06-02 08:00
#! /bin/bash
LOGFILE=/var/log/nginx/access.log
PREFIX=/etc/spiders
#日志中大部分蜘蛛都有spider的關(guān)鍵字,但是百度的不能封,所以過(guò)濾掉百度
grep 'spider' $LOGFILE |grep -v 'Baidu' |awk '{print $1}' >$PREFIX/ip1.txt
# 封掉網(wǎng)易的有道
grep 'YoudaoBot' $LOGFILE | awk '{print $1}' >>$PREFIX/ip1.txt
#封掉雅虎
grep 'Yahoo!' $LOGFILE | awk '{print $1}' >>$PREFIX/ip1.txt
# 過(guò)濾掉信任IP
sort -n $PREFIX/ip1.txt |uniq |sort |grep -v '192.168.0.' |grep -v '127.0.0.1'>$PREFIX/ip2.txt
# 如果一小時(shí)內,發(fā)包不超過(guò)30個(gè)就要解封
/sbin/iptables -nvL |awk '$1 <= 30 {print $8}' >$PREFIX/ip3.txt
for ip in `cat $PREFIX/ip3.txt`; do /sbin/iptables -D INPUT -s $ip -j DROP ; done
/sbin/iptables -Z // 將iptables計數器置為0
for ip in `cat $PREFIX/ip2.txt`; do /sbin/iptables -I INPUT -s $ip -j DROP ; done
3.使用robots.txt文件:例如阻止所有的爬蟲(chóng)爬取,但是這種效果不是很明顯。
User-agent: *
Disallow: /
4.使用nginx的自帶功能:通過(guò)對httpuseragent阻塞來(lái)實(shí)現,包括GET/POST方式的請求,以nginx為例,具體步驟如下:
編輯nginx.conf
#vim /usr/local/nginx/conf/nginx.conf
拒絕以wget方式的httpuseragent,增加如下內容
## Block http user agent - wget ##
if ($http_user_agent ~* (Wget) ) {
return 403;
}
## Block Software download user agents ##
if ($http_user_agent ~* LWP::Simple|BBBike|wget) {
return 403;
}
平滑啟動(dòng)
# /usr/local/nginx/sbin/nginx -s reload
如何拒絕多種httpuseragent,內容如下:
if ($http_user_agent ~ (agent1|agent2|Foo|Wget|Catall Spider|AcoiRobot) ) {
return 403;
}
大小寫(xiě)敏感匹配
### 大小寫(xiě)敏感http user agent拒絕###
if ($http_user_agent ~ (Catall Spider|AcoiRobot) ) {
return 403;
}
### 大小寫(xiě)不敏感http user agent拒絕###
if ($http_user_agent ~* (foo|bar) ) {
return 403;
}
以上是腳本之家(jb51.cc)為你搜集整理的全部代碼內容,希望文章能夠幫你解決所遇見(jiàn)的程序開(kāi)發(fā)問(wèn)題。
如果認為腳本之家網(wǎng)站內容還不錯網(wǎng)頁(yè)如何防止爬蟲(chóng),歡迎將腳本之家網(wǎng)站推薦給程序員好友。
以上是腳本之家為你搜集整理的避免網(wǎng)站被爬蟲(chóng)爬取的幾種解決辦法全部?jì)热?,希望文章能夠幫你解決避免網(wǎng)站被爬蟲(chóng)爬取的幾種解決辦法所遇見(jiàn)的程序開(kāi)發(fā)問(wèn)題。
如果認為腳本之家網(wǎng)站內容還不錯網(wǎng)頁(yè)如何防止爬蟲(chóng),歡迎將腳本之家網(wǎng)站推薦給程序員好友。 查看全部
LOGFILE=/var/log/nginx/access.log
PREFIX=/etc/spiders
#日志中大部分蜘蛛都有spider的關(guān)鍵字,但是百度的不能封,所以過(guò)濾掉百度
grep 'spider' $LOGFILE |grep -v 'Baidu' |awk '{print $1}' >$PREFIX/ip1.txt
# 封掉網(wǎng)易的有道
grep 'YoudaoBot' $LOGFILE | awk '{print $1}' >>$PREFIX/ip1.txt
#封掉雅虎
grep 'Yahoo!' $LOGFILE | awk '{print $1}' >>$PREFIX/ip1.txt
# 過(guò)濾掉信任IP
sort -n $PREFIX/ip1.txt |uniq |sort |grep -v '192.168.0.' |grep -v '127.0.0.1'>$PREFIX/ip2.txt
# 如果一小時(shí)內,發(fā)包不超過(guò)30個(gè)就要解封
/sbin/iptables -nvL |awk '$1 <= 30 {print $8}' >$PREFIX/ip3.txt
for ip in `cat $PREFIX/ip3.txt`; do /sbin/iptables -D INPUT -s $ip -j DROP ; done
/sbin/iptables -Z // 將iptables計數器置為0
for ip in `cat $PREFIX/ip2.txt`; do /sbin/iptables -I INPUT -s $ip -j DROP ; done
3.使用robots.txt文件:例如阻止所有的爬蟲(chóng)爬取,但是這種效果不是很明顯。
User-agent: *
Disallow: /
4.使用nginx的自帶功能:通過(guò)對httpuseragent阻塞來(lái)實(shí)現,包括GET/POST方式的請求,以nginx為例,具體步驟如下:
編輯nginx.conf
#vim /usr/local/nginx/conf/nginx.conf
拒絕以wget方式的httpuseragent,增加如下內容
## Block http user agent - wget ##
if ($http_user_agent ~* (Wget) ) {
return 403;
}
## Block Software download user agents ##
if ($http_user_agent ~* LWP::Simple|BBBike|wget) {
return 403;
}
平滑啟動(dòng)
# /usr/local/nginx/sbin/nginx -s reload
如何拒絕多種httpuseragent,內容如下:
if ($http_user_agent ~ (agent1|agent2|Foo|Wget|Catall Spider|AcoiRobot) ) {
return 403;
}
大小寫(xiě)敏感匹配
### 大小寫(xiě)敏感http user agent拒絕###
if ($http_user_agent ~ (Catall Spider|AcoiRobot) ) {
return 403;
}
### 大小寫(xiě)不敏感http user agent拒絕###
if ($http_user_agent ~* (foo|bar) ) {
return 403;
}
以上是腳本之家(jb51.cc)為你搜集整理的全部代碼內容,希望文章能夠幫你解決所遇見(jiàn)的程序開(kāi)發(fā)問(wèn)題。
如果認為腳本之家網(wǎng)站內容還不錯網(wǎng)頁(yè)如何防止爬蟲(chóng),歡迎將腳本之家網(wǎng)站推薦給程序員好友。
以上是腳本之家為你搜集整理的避免網(wǎng)站被爬蟲(chóng)爬取的幾種解決辦法全部?jì)热?,希望文章能夠幫你解決避免網(wǎng)站被爬蟲(chóng)爬取的幾種解決辦法所遇見(jiàn)的程序開(kāi)發(fā)問(wèn)題。
如果認為腳本之家網(wǎng)站內容還不錯網(wǎng)頁(yè)如何防止爬蟲(chóng),歡迎將腳本之家網(wǎng)站推薦給程序員好友。 查看全部
#! /bin/bash
LOGFILE=/var/log/nginx/access.log
PREFIX=/etc/spiders
#日志中大部分蜘蛛都有spider的關(guān)鍵字,但是百度的不能封,所以過(guò)濾掉百度
grep 'spider' $LOGFILE |grep -v 'Baidu' |awk '{print $1}' >$PREFIX/ip1.txt
# 封掉網(wǎng)易的有道
grep 'YoudaoBot' $LOGFILE | awk '{print $1}' >>$PREFIX/ip1.txt
#封掉雅虎
grep 'Yahoo!' $LOGFILE | awk '{print $1}' >>$PREFIX/ip1.txt
# 過(guò)濾掉信任IP
sort -n $PREFIX/ip1.txt |uniq |sort |grep -v '192.168.0.' |grep -v '127.0.0.1'>$PREFIX/ip2.txt
# 如果一小時(shí)內,發(fā)包不超過(guò)30個(gè)就要解封
/sbin/iptables -nvL |awk '$1 <= 30 {print $8}' >$PREFIX/ip3.txt
for ip in `cat $PREFIX/ip3.txt`; do /sbin/iptables -D INPUT -s $ip -j DROP ; done
/sbin/iptables -Z // 將iptables計數器置為0
for ip in `cat $PREFIX/ip2.txt`; do /sbin/iptables -I INPUT -s $ip -j DROP ; done
3.使用robots.txt文件:例如阻止所有的爬蟲(chóng)爬取,但是這種效果不是很明顯。
User-agent: *
Disallow: /
4.使用nginx的自帶功能:通過(guò)對httpuseragent阻塞來(lái)實(shí)現,包括GET/POST方式的請求,以nginx為例,具體步驟如下:
編輯nginx.conf
#vim /usr/local/nginx/conf/nginx.conf
拒絕以wget方式的httpuseragent,增加如下內容
## Block http user agent - wget ##
if ($http_user_agent ~* (Wget) ) {
return 403;
}
## Block Software download user agents ##
if ($http_user_agent ~* LWP::Simple|BBBike|wget) {
return 403;
}
平滑啟動(dòng)
# /usr/local/nginx/sbin/nginx -s reload
如何拒絕多種httpuseragent,內容如下:
if ($http_user_agent ~ (agent1|agent2|Foo|Wget|Catall Spider|AcoiRobot) ) {
return 403;
}
大小寫(xiě)敏感匹配
### 大小寫(xiě)敏感http user agent拒絕###
if ($http_user_agent ~ (Catall Spider|AcoiRobot) ) {
return 403;
}
### 大小寫(xiě)不敏感http user agent拒絕###
if ($http_user_agent ~* (foo|bar) ) {
return 403;
}
以上是腳本之家(jb51.cc)為你搜集整理的全部代碼內容,希望文章能夠幫你解決所遇見(jiàn)的程序開(kāi)發(fā)問(wèn)題。
如果認為腳本之家網(wǎng)站內容還不錯網(wǎng)頁(yè)如何防止爬蟲(chóng),歡迎將腳本之家網(wǎng)站推薦給程序員好友。
以上是腳本之家為你搜集整理的避免網(wǎng)站被爬蟲(chóng)爬取的幾種解決辦法全部?jì)热?,希望文章能夠幫你解決避免網(wǎng)站被爬蟲(chóng)爬取的幾種解決辦法所遇見(jiàn)的程序開(kāi)發(fā)問(wèn)題。
如果認為腳本之家網(wǎng)站內容還不錯網(wǎng)頁(yè)如何防止爬蟲(chóng),歡迎將腳本之家網(wǎng)站推薦給程序員好友。


