2017-07-21 7 views
-1

私はhttp://stock.hankyung.com/news/app/newslist.php?cid=01からウェブサイトをクロールしようとしています。C#で添付された各ページコードをクロールする方法は?

私のコーディングは、各タイトルが最初のページだけで提供するすべての情報をクロールすることになっています。今度は、最初のページを終了した後、次のページをクロールして、1-> 2-> 3->の後にクロールします。

enter image description here

+1

読みますなぜ[ソースcのイメージodeは悪い考えです](https://meta.stackoverflow.com/questions/303812/discourage-screenshots-of-code-and-or-errors) –

答えて

1

リンクにページ番号があります。あなたは

<a href="http://stock.hankyung.com/news/app/newslist.php?cid=01&page=43940" class="btn last"> 

下の最後のページボタンを検査する場合 あなたは

IWebElement lastPageElement = driver.FindElement(By.XPath("//a[@class='btn last']")); 

を持つ要素を選択することができそして、hrefを選択:

int page_number; 
    string url_link = "http://stock.hankyung.com/news/app/newslist.php?cid=01&page="; 
    for (int i = 1; i <= page_numnber; i++) { 
     driver.Navigate().GoToUrl(url_link + i); 
     // Code here 
    } 

は、私はそれが

編集役に立てば幸いプロパティ。

string page_number_string = lastPageElement.GetAttribute("href"); 

そして、それのうち

page_number_string = page_number_string .Substring(60); 

をサブストリングを取得し、それはそのようになる終わりint

int page_number= Int32.Parse(page_number_string); 

stringキャスト:

driver.Navigate().GoToUrl("http://stock.hankyung.com/news/app/newslist.php?cid=01"); 
    System.Threading.Thread.Sleep(1000); 
    IWebElement lastPageElement = driver.FindElement(By.XPath("//a[@class='btn last']")); 
    string page_number_string = lastPageElement.GetAttribute("href"); 
    page_number_string = page_number_string .Substring(60); 
    int page_number Int32.Parse(page_number_string); 
    string url_link = "http://stock.hankyung.com/news/app/newslist.php?cid=01&page="; 
    for (int i = 1; i <= page_number; i++) { 
     driver.Navigate().GoToUrl(url_link + i); 
     // Code here 
    } 
+0

あなたの答えに感謝します。しかし、コードを実行すると、割り当てられていないローカル変数 'page_number'の使用。これは私が今までに持っていた最大数としてpage_numberを設定する必要があるということですか? –

+0

私の記事の編集を参照してください:) – Pfeiff86

+1

あなたは天使です!あなたは素晴らしい日を祈っています! –

0

リンク使用からページ番号4のリンクを到達する例 ため、各ページにアクセスするには、クエリ文字列の属性pageはあなたがループを使用することができ、この

http://stock.hankyung.com/news/app/newslist.php?cid=01&page=4

のようになりますすべてのページに到達

関連する問題