freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

分布式網(wǎng)絡(luò)爬蟲(chóng)-總體設(shè)計(jì)(文件)

 

【正文】 爬蟲(chóng)。在啟動(dòng)爬蟲(chóng)之前,我們需要使用一個(gè)PageProcessor創(chuàng)建一個(gè)Spider對(duì)象,然后使用run()進(jìn)行啟動(dòng)。 int temp=1。 try { //添加到JMT監(jiān)控中 ().register(oschinaSpider)。 } } 頁(yè)面元素的抽取第二部分是爬蟲(chóng)的核心部分:對(duì)于下載到的Html頁(yè)面,你如何從中抽取到你想要的信息?WebMagic里主要使用了三種抽取技術(shù):XPath、正則表達(dá)式和CSS選擇器。entrytitle public39。 對(duì)應(yīng)的Html是這樣子的:圖12 html導(dǎo)航 CSS選擇器CSS選擇器是與XPath類似的語(yǔ)言。客觀的說(shuō),它比XPath寫(xiě)起來(lái)要簡(jiǎn)單一些,但是如果寫(xiě)復(fù)雜一點(diǎn)的抽取規(guī)則,就相對(duì)要麻煩一點(diǎn)。JsonPath是于XPath很類似的一個(gè)語(yǔ)言,它用于從Json中快速定位一條內(nèi)容。 具體代碼實(shí)現(xiàn) package 。import 。 // 設(shè)置csdn用戶名 private static int size = 0。article_list39。]).links()// 限定其他列表頁(yè)獲取區(qū)域 .regex(/ + username + /article/list/\\d+) .replace(/ + username + /, + username + /)// 巧用替換給把相對(duì)url轉(zhuǎn)換成絕對(duì)url .all())。 // 設(shè)置標(biāo)題 ( ().xpath(//div[class=39。]/a/text()).get())。 // 設(shè)置日期 ( ().xpath(//div[class=39。]/text()).get())。link_categories39。]/label/span/text()).all()))。link_view39。]/span[class=39。 // 把對(duì)象存入數(shù)據(jù)庫(kù) new CsdnBlogDao().add(csdnBlog)。 boolean flag = false。 } return ()。 // 從用戶博客首頁(yè)開(kāi)始抓,開(kāi)啟5個(gè)線程,啟動(dòng)爬蟲(chóng) (new CsdnBlogPageProcessor()).addUrl( + username).thread(5).run()。import 。import 。public class App implements PageProcessor{ private Site site = ().setSleepTime(1)。 public static void main( String[] args ) { //Spider是爬蟲(chóng)的入口類,addurl為入口url Spider oschinaSpider = (new App()).addUrl() //Pipeline是結(jié)果輸出和持久化的接口,這里ConsolePipeline表示結(jié)果輸出到控制臺(tái) .addPipeline(new ConsolePipeline())。 } catch (JMException e) { ()。 if (()5) { (()1)。]).links().regex(://blog\\.csdn\\.net/chenyufeng1991/article/details/\\d+).all()。link_title39。MySQL 是最流行的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)之一,在 WEB 應(yīng)用方面,MySQL是最好的 RDBMS (Relational Database Management System,關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)) 應(yīng)用軟件。由于其社區(qū)版的性能卓越,搭配 PHP 和 Apache 可組成良好的開(kāi)發(fā)環(huán)境。net start mysql將啟動(dòng)MySQL服務(wù)。顯示“mysql”表示進(jìn)入MySQL,可用TSQL語(yǔ)句對(duì)數(shù)據(jù)庫(kù)執(zhí)行各種操作。 MySQL Workbench是下一代的可視化數(shù)據(jù)庫(kù)設(shè)計(jì)、管理的工具,它同時(shí)有開(kāi)源和商業(yè)化的兩個(gè)版本。// 編號(hào) private String title。// 分類 private int view。 //文字內(nèi)容 public String getContent() { return content。 } public String getTitle() { return title。 } public String getTags() { return tags。 } public int getView() { return view。 } public int getCopyright() { return copyright。 private Statement stmt = null。useUnicode=trueamp。 } catch (ClassNotFoundException e) { ()。 (1, ())。 (5, ())。 (9, ())。 }以上,我們就實(shí)現(xiàn)了數(shù)據(jù)庫(kù)的鏈接,運(yùn)行CsdnBlogPageProcessor,并查看結(jié)果圖29 Console下的結(jié)果這是在eclipse下查看的結(jié)果,打開(kāi)數(shù)據(jù)庫(kù),發(fā)現(xiàn)數(shù)據(jù)也已經(jīng)保存了進(jìn)去圖30 數(shù)據(jù)庫(kù)中的數(shù)據(jù)實(shí)驗(yàn)結(jié)束后,將數(shù)據(jù)庫(kù)關(guān)閉服務(wù)圖31 關(guān)閉數(shù)據(jù)庫(kù)服務(wù)第40頁(yè)。 } catch (SQLException e) { ()。 (7, ())。 (3,())。 } }鏈接完成后,要向數(shù)據(jù)庫(kù)中逐條插入數(shù)據(jù),因此再添加一個(gè)add函數(shù),代碼如下:public int add(CsdnBlog csdnBlog) { try { String sql = INSERT INTO `Shiyan`.`csdnblog` (`keyes`, `titles`, `content` , `dates`, `tags`, `category`, `views`, `ments`, `copyright`) VALUES (?, ?, ?, ?, ?, ?, ?, ?,?)。/*此處為添加要連接數(shù)據(jù)庫(kù)的信息,3306是接口,在使用WorkBench時(shí)有過(guò)設(shè)置,3306后邊是句庫(kù)名稱,下邊的’user=……’填寫(xiě)數(shù)據(jù)庫(kù)的訪問(wèn)密碼*/ conn = (url)。 String url = jdbc:mysql://localhost:3306/Shiyan? + user=rootamp。 } Override public String toString() { return CsdnBlog [key= + key + , title= + title + , content= + content + ,date= + date + , tags= + tags + , category= + category + , view= + view + , ments= + ments + , copyright= + copyright + ]。 } public int getComments() { return ments。 } public String getCategory() { return category。 } public String getDate() { return date。 } public int getKey() { return key。// 評(píng)論人數(shù) private int copyright。// 日期 private String tags。 依然進(jìn)入MySQL的官網(wǎng),翻到網(wǎng)頁(yè)最底部的DOWNLOAD,選擇MySQLWorkbench圖20 MySQLWorkbench下載1點(diǎn)擊DOWNLOAD下載并安裝圖21 MySQLWorkbench下載2安裝完成后雙擊打開(kāi)圖22 MySQLWorkbench點(diǎn)擊‘+’圖標(biāo),進(jìn)入數(shù)據(jù)庫(kù)配置,填寫(xiě)配置信息圖23鏈接配置創(chuàng)建成功,雙擊數(shù)據(jù)庫(kù)輸入密碼進(jìn)入圖24 MySQLWorkbench界面圖25 數(shù)據(jù)庫(kù)登錄圖形化管理工具只是為了方便結(jié)果的查看,現(xiàn)在我們使用cmd在MySQL中創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)并建立一個(gè)名為csdnblog的表,用于存儲(chǔ)我們從網(wǎng)頁(yè)上爬到的數(shù)據(jù)信息,我已經(jīng)創(chuàng)建好了一個(gè)名為Shiyan的數(shù)據(jù)庫(kù),在此只要?jiǎng)?chuàng)建表即可圖26 MySql建表1使用圖形化管理工具查看,發(fā)現(xiàn)Table下多出一張表,不過(guò)是空表圖27 MySql建表2 編寫(xiě)鏈接數(shù)據(jù)庫(kù)文件圖28 總類圖 在連接數(shù)據(jù)庫(kù)之前,我們先要建立要插入數(shù)據(jù)的數(shù)據(jù)模型,即所要插入的數(shù)據(jù)由那幾項(xiàng)構(gòu)成以及他們的結(jié)構(gòu),新建一個(gè)CsdnBlog的JAVA文件,添加數(shù)據(jù)模型,并編寫(xiě)獲取、修改相應(yīng)部分的代碼。它是著名的數(shù)據(jù)庫(kù)設(shè)計(jì)工具DBDesigner4的繼任者。圖17 MySQL安裝2接下來(lái)配置環(huán)境變量編輯path系統(tǒng)變量,將G:\\bin添加到path變量。首先解壓到G:\\文件下,打開(kāi)命令提示符以管理員身份運(yùn)行,cd到G:\\bin下命令為:cd /d G:\\bin圖16 MySQL安裝1然后安裝MySQLmysqld install,運(yùn)行命令后MySQL安裝成功。MySQL所使用的 SQL 語(yǔ)言是用于訪問(wèn)數(shù)據(jù)庫(kù)的最常用標(biāo)準(zhǔn)化語(yǔ)言。 } } public Site getSite() { return site。 }else { (記錄數(shù):+temp++)。//用于獲取所有滿足(://blog\\.csdn\\.net/u012012240/article/month/2016/08/\\d+)這個(gè)正則表達(dá)式的鏈接 //區(qū)分是列表頁(yè)面還是信息頁(yè)面 if (().regex(article/list).match()) { ListString links = ().xpath([class=39。pagelist39。 //設(shè)置線程數(shù) //(5)。 //執(zhí)行這個(gè)main方法,即可在控制臺(tái)看到抓取結(jié)果。import 。import 。 (【爬蟲(chóng)結(jié)束】共抓取 + size + 篇文章,耗時(shí)約 + ((endTime startTime) / 1000) + 秒,已保存到數(shù)據(jù)庫(kù),請(qǐng)查收!)。 (【爬蟲(chóng)開(kāi)始】請(qǐng)耐心等待一大波數(shù)據(jù)到你碗里來(lái)...)。 } else { flag = true。 } } // 把list轉(zhuǎn)換為string,用,分割 public static String listToString(ListString stringList) { if (stringList == null) { return null。]).regex(\\((\\d+)\\)).get()))。 // 設(shè)置評(píng)論人數(shù) ((() .xpath(//div[class=39。article_r39。 // 設(shè)置類別(可以有多個(gè),用,來(lái)分割) ( listToString(().xpath(//div[class=39。article_l39。]/span[class=39。article_content39。]//span[class=39。// 文章數(shù)量加1 // 用CsdnBlog類來(lái)存抓取到的數(shù)據(jù),方便存入數(shù)據(jù)庫(kù) CsdnBlog csdnBlog = new CsdnBlog()。 // 添加其他列表頁(yè) (().xpath(//div[id=39。 public Site getSite() { return site。/** * CSDN博客爬蟲(chóng) * * 可以爬取指定用戶的csdn博客所有文章,并保存到數(shù)據(jù)庫(kù)中。import
點(diǎn)擊復(fù)制文檔內(nèi)容
試題試卷相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1