一切為了做個好爸爸。其實爸爸這個詞,真的很汗顏,在我們還沒有學會如何孝敬父母的時候,卻已經馬上要為人父母了。驚喜總是來的很快,不自覺中,自己已經成長了。雖然不一定是個稱職的爸爸,但是我想大家在這個時候也是想做的更好。
做網路資料抓取,其實辦法並非唯一的,不過為了直觀,我選用了比較麻煩的方式。那就是前台用webbrowser控制項,後台用htmlagilitypack這個元件來完成,其實涉及到的知識點也比較簡單。
2、htmlagilitypack 這個控制項很強大,本來之前是想用xml解析的方式來做的,但是發現html頁面,果然有很多標籤並非很標準的xml方式,解析中出錯很多,所以無奈只能選用這個控制項,但是好在它的使用方法非常簡單。具體的使用方法,在周公(周金橋) 這篇文件中有詳細的介紹,此處我只列舉最主要的路徑檢索部分。
路徑表示式:nodename:選取此節點的所有子節點。
/:從根節點擊取。
//:從匹配選擇的當前節點擊擇文件中的節點,而不考慮它們的位置。
.:選取當前節點。
..:選取當前節點的父節點。
針對上面的xml檔案,我們列出了帶有謂語的一些路徑表示式,以及表示式的結果:<?xml version="1.0" encoding="utf-8"?>
在asp.net中使用highcharts js圖表
2011-04-07
log4net使用詳解(續)
2023年11月23日
j2me開發的一般步驟
2023年06月12日
powerdesign高階應用
2007-09-08
/articles/article[1]:選取屬於articles子元素的第乙個article元素。
/articles/article[last()]:選取屬於articles子元素的最後乙個article元素。
/articles/article[last()-1]:選取屬於articles子元素的倒數第二個article元素。
/articles/article[position()<3]:選取最前面的兩個屬於 bookstore 元素的子元素的article元素。
//title[@lang]:選取所有擁有名為lang的屬性的title元素。
//createat[@type='zh-cn']:選取所有createat元素,且這些元素擁有值為zh-cn的type屬性。
/articles/article[order>2]:選取articles元素的所有article元素,且其中的order元素的值須大於2。
/articles/article[order<3]/title:選取articles元素中的article元素的所有title元素,且其中的order元素的值須小於3。
**中最關鍵的使用部分如下:
另外,因為子頁面經常是幾十個,所以新增了自動定時重新整理webbrowser位址和對頁面**進行分析的功能。htmldocument doc = web.document as htmldocument;//web就是 if (doc ==null)
ihtmlelement ielement = doc.documentelement;
string body = ((mshtml.htmlhtmlelement)(ielement)).innerhtml;
streamwriter sw = new streamwriter(path, false, encoding);
sw.write(body);
sw.close();
htmldocument document = new htmldocument();
encoding pageencoding = encoding.getencoding("gb2312");
document.load(path, pageencoding);
htmlnode roothtml = document.documentnode;
htmlnodecollection uili = roothtml.selectnodes("//div[@class='eglistsj']/ul/li/a");
if (uili == null)
foreach (htmlnode node in uili)
吧,主要是歌曲列表可以拿到了。哈哈threadstart mystart;
thread thestop;
public readonly object mylockword = new object();
private void tostop()
);thread.sleep(7000);
this.dispatcher.invoke(delegate
);}
}
以上為比較麻煩的一種網頁內容獲取方式,下面引用同事在做類似網頁內容獲取時所用到的方法:
/// /// 從網上獲取指定url的html原始碼
///
/// url
/// html原始碼
private static string gethtmlbywebrequest(string strurl)
stream datastream = response.getresponsestream();
streamreader reader = new streamreader(datastream, encoding);
strret = reader.readtoend();
reader.close();
datastream.close();
response.close();
}else
return strret;
}
php 抓取網頁資訊
最近要抓取網頁資料,就用php試了下,發現了乙個不錯的php抓取資料的整合類 html dom.php,而根據網頁的特點大致分為兩類,一類是網頁dom結構相同,url類似只是改了部分引數,這個 直接用 html file get html url 然後根據網頁dom用 html find plain...
動態抓取網頁資訊
前幾天在做資料庫實驗時,總是手動的向資料庫中新增少量的固定資料,於是就想如何向資料庫中匯入大量的動態的資料?在網上了解了網路爬蟲,它可以幫助我們完成這項工作,關於網路爬蟲的原理和基礎知識,網上有大量的相關介紹,本人不想在累述,個人覺得下面的文章寫得非常的好 網路爬蟲基本原理 一 網路爬蟲基本原理二 ...
c 抓取網頁分析
目的 抓取網頁,分析網頁內容,進行處理獲取資訊。例子 抓km169上的adsl使用者的費用資訊,分析儲存到本地資料庫。步驟 1 抓取。2 分析。3 儲存。王 2006 2 13 05 48 王 2006 2 13 05 56 2 分析 public string get return null 此處...