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

正文內(nèi)容

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

2025-07-14 20:52本頁(yè)面
  

【正文】 時(shí)候,倫理的因素也需要考慮進(jìn)來(lái)。需要注意的是即使很禮貌,采取了所有的安全措施來(lái)避免服務(wù)器超載,還是會(huì)引來(lái)一些網(wǎng)絡(luò)服務(wù)器管理員的抱怨的。這是因?yàn)橛袩o(wú)數(shù)的人在上網(wǎng),而這些人不知道爬蟲(chóng)是什么,因?yàn)檫@是他們第一次見(jiàn)到。它的目標(biāo)是最大化下載的速度,同時(shí)盡量減少并行的開(kāi)銷(xiāo)和下載重復(fù)的頁(yè)面。 爬蟲(chóng)的配置第一部分關(guān)于爬蟲(chóng)的配置,包括編碼、抓取間隔、超時(shí)時(shí)間、重試次數(shù)等,也包括一些模擬的參數(shù),例如User Agent、cookie,以及代理的設(shè)置Spider是爬蟲(chóng)啟動(dòng)的入口。同時(shí)Spider的其他組件(Downloader、Scheduler、Pipeline)都可以通過(guò)set方法來(lái)進(jìn)行設(shè)置。方法說(shuō)明示例setCharset(String)設(shè)置編碼(utf8)setUserAgent(String)設(shè)置UserAgent(Spider)setTimeOut(int)設(shè)置超時(shí)時(shí)間,單位是毫秒(3000)setRetryTimes(int)設(shè)置重試次數(shù)(3)setCycleRetryTimes(int)設(shè)置循環(huán)重試次數(shù)(3)addCookie(String,String)添加一條cookie(dott_user,code4craft)setDomain(String)設(shè)置域名,需設(shè)置域名后,addCookie才可生效()addHeader(String,String)添加一條addHeader(Referer,)setHttpProxy(HttpHost)設(shè)置Http代理(new HttpHost(,8080))public class App implements PageProcessor{ private Site site = ().setSleepTime(1)。 //執(zhí)行這個(gè)main方法,即可在控制臺(tái)看到抓取結(jié)果。 public static void main( String[] args ) { //Spider是爬蟲(chóng)的入口類(lèi),addurl為入口url Spider oschinaSpider = (new App()).addUrl() //Pipeline是結(jié)果輸出和持久化的接口,這里ConsolePipeline表示結(jié)果輸出到控制臺(tái) .addPipeline(new ConsolePipeline())。 //設(shè)置線程數(shù) //(5)。 } catch (JMException e) { ()。另外,對(duì)于JSON格式的內(nèi)容,可使用JsonPath進(jìn)行解析。例如: ().xpath(//h1[class=39。]/strong/a/text())這段代碼使用了XPath,它的意思是“查找所有class屬性為39。的h1元素,并找到他的strong子節(jié)點(diǎn)的a子節(jié)點(diǎn),并提取a節(jié)點(diǎn)的文本信息”。如果大家做過(guò)前端開(kāi)發(fā),肯定知道$(39。)這種寫(xiě)法的含義。 正則表達(dá)式正則表達(dá)式則是一種通用的文本抽取語(yǔ)言。這段代碼就用到了正則表達(dá)式,它表示匹配所有這樣的鏈接。WebMagic中使用的JsonPath格式可以參考這里: 鏈接的發(fā)現(xiàn)有了處理頁(yè)面的邏輯,我們的爬蟲(chóng)就接近完工了!但是現(xiàn)在還有一個(gè)問(wèn)題:一個(gè)站點(diǎn)的頁(yè)面是很多的,一開(kāi)始我們不可能全部列舉出來(lái),于是如何發(fā)現(xiàn)后續(xù)的鏈接,是一個(gè)爬蟲(chóng)不可缺少的一部分。這段代碼的分為兩部分,().links().regex((://github\\./\\w+/\\w+)).all()用于獲取所有滿足(:/ /github\./\w+/\w+)這個(gè)正則表達(dá)式的鏈接,()則將這些鏈接加入到待抓取的隊(duì)列中去。import 。import 。import 。 */public class CsdnBlogPageProcessor implements PageProcessor { private static String username=CHENYUFENG1991。// 共抓取到的文章數(shù)量 // 抓取網(wǎng)站的相關(guān)配置,包括:編碼、抓取間隔、重試次數(shù)等 private Site site = ().setRetryTimes(3).setSleepTime(1000)。 } // process是定制爬蟲(chóng)邏輯的核心接口,在這里編寫(xiě)抽取邏輯 public void process(Page page) { // 列表頁(yè) if (!().regex(://blog\\.csdn\\.net/ + username + /article/details/\\d+).match()) { // 添加所有文章頁(yè) (().xpath(//div[id=39。]).links()// 限定文章列表獲取區(qū)域 .regex(/ + username + /article/details/\\d+) .replace(/ + username + /, + username + /)// 巧用替換給把相對(duì)url轉(zhuǎn)換成絕對(duì)url .all())。papelist39。 // 文章頁(yè) } else { size++。 // 設(shè)置編號(hào) (( ().regex(://blog\\.csdn\\.net/ + username + /article/details/(\\d+)).get()))。article_title39。link_title39。 //設(shè)置內(nèi)容 ( ().xpath(//div[class=39。]/allText()).get())。article_r39。link_postdate39。 // 設(shè)置標(biāo)簽(可以有多個(gè),用,來(lái)分割) (listToString(() .xpath(//div[class=39。]/span[class=39。]/a/allText()).all()))。category_r39。 // 設(shè)置閱讀人數(shù) ((().xpath(//div[class=39。]/span[class=39。]) .regex((\\d+)人閱讀).get()))。article_r39。link_ments39。 // 設(shè)置是否原創(chuàng) (().regex(bog_copyright).match() ? 1 : 0)。 // 把對(duì)象輸出控制臺(tái) (csdnBlog)。 } StringBuilder result = new StringBuilder()。 for (String string : stringList) { if (flag) { (,)。 } (string)。 } public static void main(String[] args) { long startTime, endTime。 startTime = ()。 endTime = ()。 }} package 。import 。import 。import 。import 。 int temp=1。webmagic默認(rèn)有3秒抓取間隔,請(qǐng)耐心等待。 try { //添加到JMT監(jiān)控中 ().register(oschinaSpider)。 ()。 } } //process(過(guò)程) public void process(Page page) { //()來(lái)保存抽取結(jié)果 //().xpath()則是按照某個(gè)規(guī)則對(duì)結(jié)果進(jìn)行抽取,這里抽取支持鏈?zhǔn)秸{(diào)用 ListString pages=().xpath([class=39。]).links().all()。 } (pages)。link_title39。 //()方法來(lái)增加要抓取的URL (links)。 (title, ().xpath(//[class=39。]/a/text()).toString())。 }} MySQL簡(jiǎn)介MySQL是一個(gè)關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),由瑞典MySQL AB 公司開(kāi)發(fā),目前屬于 Oracle 旗下產(chǎn)品。MySQL是一種關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng),關(guān)系數(shù)據(jù)庫(kù)將數(shù)據(jù)保存在不同的表中,而不是將所有數(shù)據(jù)放在一個(gè)大倉(cāng)庫(kù)內(nèi),這樣就增加了速度并提高了靈活性。MySQL 軟件采用了雙授權(quán)政策,分為社區(qū)版和商業(yè)版,由于其體積小、速度快、總體擁有成本低,尤其是開(kāi)放源碼這一特點(diǎn),一般中小型網(wǎng)站的開(kāi)發(fā)都選擇 MySQL 作為網(wǎng)站數(shù)據(jù)庫(kù)。 MySQL的安裝及配置 進(jìn)入MySQL官網(wǎng),進(jìn)入DOWNLOADS,選擇Community,點(diǎn)擊DOWNLOAD圖13 MySQL下載1,圖14 MySQL下載2選擇相應(yīng)信息,點(diǎn)擊下載圖15 MySQL下載3將安裝包解壓,通過(guò)命令來(lái)安裝MySQL數(shù)據(jù)庫(kù)。最后啟動(dòng)MySQL服務(wù)。值得注意的是用命令安裝的MySQL在Windows系統(tǒng)下默認(rèn)服務(wù)名為mysql,默認(rèn)密碼為空。圖18 MySQL環(huán)境不變量配置最后進(jìn)入MySQLmysql u root p,密碼默認(rèn)為空。圖19 進(jìn)入MySQL 安裝MySQLWorkbenchMySQL Workbench是一款專(zhuān)為MySQL設(shè)計(jì)的ER/數(shù)據(jù)庫(kù)建模工具。你可以用MySQL Workbench設(shè)計(jì)和創(chuàng)建新的數(shù)據(jù)庫(kù)圖示,建立數(shù)據(jù)庫(kù)文檔,以及進(jìn)行復(fù)雜的MySQL 遷移。該軟件支持Windows和Linux系統(tǒng)。代碼如下:public class CsdnBlog { private int key。// 標(biāo)題 private String date。// 標(biāo)簽 private String category。// 閱讀人數(shù) private int ments。// 是否原創(chuàng) private String content。 } public void setContent(String content) { = content。 } public void setKey(int key) { = key。 } public void setTitle(String title) { = title。 } public void setDate(String date) { = date。 } public void setTags(String tags) { = tags。 } public void setCategory(String category) { = category。 } public void setView(int view) { = view。 } public void setComments(int ments) { = ments。 } public void setCopyright(int copyright) { = copyright。 }在Webmagic框架下實(shí)現(xiàn)數(shù)據(jù)庫(kù)的鏈接有多種方法,在此我們使用DAO進(jìn)行鏈接,新建一個(gè)CsdnBlogDAO的JAVA文件,配置相應(yīng)信息,實(shí)現(xiàn)數(shù)據(jù)庫(kù)的鏈接,構(gòu)造函數(shù)代碼如下:public class CsdnBlogDao { private Connection conn = null。 public CsdnBlogDao() { try { ()。password=19960407amp。characterEncoding=UTF8。 stmt = ()。 } catch (SQLException e) { ()。 PreparedStatement ps = (sql)。 (2, ())。 (4, ())。 (6, ())。 (8, ())。 return ()。 } return
點(diǎn)擊復(fù)制文檔內(nèi)容
試題試卷相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1