您好,登錄后才能下訂單哦!
這篇文章將為大家詳細(xì)講解有關(guān)java爬蟲與python爬蟲對(duì)比哪個(gè)更簡(jiǎn)單,小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。
java爬蟲與python爬蟲的對(duì)比:
python做爬蟲語(yǔ)法更簡(jiǎn)單,代碼更簡(jiǎn)潔。java的語(yǔ)法比python嚴(yán)格,而且代碼也更復(fù)雜
示例如下:
url請(qǐng)求:
java版的代碼如下:
public String call (String url){ String content = ""; BufferedReader in = null; try{ URL realUrl = new URL(url); URLConnection connection = realUrl.openConnection(); connection.connect(); in = new BufferedReader(new InputStreamReader(connection.getInputStream(),"gbk")); String line ; while ((line = in.readLine()) != null){ content += line + "\n"; } }catch (Exception e){ e.printStackTrace(); } finally{ try{ if (in != null){ in.close(); } }catch(Exception e2){ e2.printStackTrace(); } } return content; }
python版的代碼如下:
# coding=utf-8 import chardet import urllib2 url = "http://www.baidu.com" data = (urllib2.urlopen(url)).read() charset = chardet.detect(data) code = charset['encoding'] content = str(data).decode(code, 'ignore').encode('utf8') print content
正則表達(dá)式
java版的代碼如下:
public String call(String content) throws Exception { Pattern p = Pattern.compile("content\":\".*?\""); Matcher match = p.matcher(content); StringBuilder sb = new StringBuilder(); String tmp; while (match.find()){ tmp = match.group(); tmp = tmp.replaceAll("\"", ""); tmp = tmp.replace("content:", ""); tmp = tmp.replaceAll("<.*>", ""); sb.append(tmp + "\n"); } String comment = sb.toString(); return comment; } }
python的代碼如下:
import repattern = re.compile(正則) group = pattern.findall(字符串)
關(guān)于java爬蟲與python爬蟲對(duì)比哪個(gè)更簡(jiǎn)單就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。