批量網站訪問檢測
⑴ python如何批量同時檢測網址可用性
多線程,目前的運行時間是由網路返回時間決定的,如果你訪問的網址不是來自一個網址,沒有並發訪問數限制,就可以用多線程來提高同時訪問的網址數,運行總時間就不是一個串聯關系了。不會的話網路一下學習一下就OK了。
⑵ 急,怎麼批量從網站得到查詢結果呢
你如果會用java的話,執行下面的程序,就可以從Baii批量得到查詢結果,
用法:
C:/urltest_files/test_inFile.txt的文件中寫入 要查詢 的關鍵字,每行一個,(當然也可以從DB中讀取 關鍵字,改一下代碼就可以了)
他就會把查詢結果一HTML形式保存到C:/urltest_files/文件中。
因為每個網站都不一樣,不知道他是不是適用於你的網站。
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStreamWriter;
import java.net.URL;
import java.net.URLEncoder;
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
try {
String baseUrl = "http://www..com/s?wd=";
String dir = "C:/urltest_files/";
File inFile = new File(dir + "test_inFile.txt");
File outFile = new File(dir + "test_outFile.txt");
if (!inFile.exists()) {
return;
}
OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream(outFile), "GB2312");
Scanner scan = new Scanner(inFile);
int cnt = 0;
while (scan.hasNextLine()) {
cnt++;
String line = scan.nextLine();
try {
URL url = new URL(baseUrl + URLEncoder.encode(line, "GB2312"));
System.out.println(url);
String htmlFile = dir + "result_" + cnt + ".html";
osw.write("KEY: \t" + line + "\r\n");
osw.write("FILE: \t" + htmlFile + "\r\n\r\n");
OutputStreamWriter htmlOut = new OutputStreamWriter(new FileOutputStream(htmlFile), "GB2312");
InputStream ins = url.openStream();
Scanner htmlScan = new Scanner(ins, "GB2312");
while (htmlScan.hasNextLine()) {
htmlOut.write(htmlScan.nextLine() + "\r\n");
}
htmlScan.close();
htmlOut.close();
} catch (Exception e) {
e.printStackTrace();
}
}
scan.close();
osw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
⑶ Python批量判斷網站是否能訪問
#coding:utf-8
#author:www.chenhaifei.com
import requests #打開
import time,random #控制時間
import sys #專門亂碼的
reload(sys)
sys.setdefaultencoding(『utf-8』)
headers={
『User-Agent』:』Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.71 Safari/537.36′,
}
url=』http://www.chenhaifei.com/』 ##檢測的url
cont = requests.get(url,allow_redirects = False).status_code ##allow_redirects = False不檢測跳轉後的狀態碼
print cont
time.sleep(0.5)
上面是單個判斷url狀態碼的,你可以把想要檢測的url放在一個txt裡面,這樣就可以循環檢測了。