国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

淺談抓取網頁數據(奉上Demo)

2019-11-17 03:14:44
字體:
來源:轉載
供稿:網友

淺談抓取網頁數據(奉上Demo)

Demo源碼

背景

  曾經在公司做過一個比價系統,就是抓取其它網站上商品的價格并和自己公司的商品進行對應,然后展示出來,給pm提供一個定價的參考。后來,有同事的朋友在找工作的時候,獵頭讓其做一個抓取去哪網最低價機票的程序,然后,我就幫忙整了一下。本文的目的在于提供這個程序的源碼,然后和大家探討一下網頁信息抓取的相關點。Demo使用c#并在vs2012環境下運行。

項目結構一覽

  下面是Demo的項目結構圖:

運行結果

  下面是Demo的運行結果圖:

思路&問題分析

  • 個人以為,網頁信息的獲取分為兩個階段:1 知道目標網頁和相關參數,并獲取網頁的源碼 2 將獲取到的源碼抽取出我們需要的信息,并轉換成c#對象
  • 在Demo中的HttpHelper.cs文件下的類的職責就是設定目標網頁地址和相關參數,該類是在網上找到的,據說可以無視cookie、證書等驗證,很牛,推薦小伙伴們使用,所以,第一個目標是比較容易能夠完成的
  • 難點在于第二個目標,我們如何抓取html源碼(json數據)中的有效信息并轉換成我們需要的c#對象呢?Demo中獲取的是json數據,然后用正則抓出了其中的一部分,再轉換成一個實體類的列表。Demo中的AsyncRegexHelper是異步的正則匹配幫助類,在使用正則匹配的過程中,經常遇到無限回溯的問題,使用這個幫助類可以異步地執行匹配并且有一個超時時間?,F在碰到的問題是正則匹配比較不靠譜,難度較大且不易擴展,目前打算想用Html Agility Pack來進行數據的匹配,希望伙伴們能指點下,謝謝大家。

總結

  本人文筆拙劣,感謝大家的支持。提供源碼,大家分享一下,希望能做一個通用點的系統,只需要輸入網址和一些簡單的規則,就能夠獲取我們所需要的信息。

Demo源碼


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 楚雄市| 和静县| 庄河市| 泰宁县| 都匀市| 文山县| 班戈县| 兴义市| 定安县| 同江市| 拉萨市| 永定县| 特克斯县| 甘泉县| 利津县| 大兴区| 大荔县| 吉隆县| 中牟县| 峨边| 连山| 和林格尔县| 达日县| 稷山县| 喀喇沁旗| 湛江市| 玛多县| 论坛| 南雄市| 巨野县| 兴山县| 海口市| 阿克苏市| 九龙坡区| 抚顺县| 肃北| 靖州| 化德县| 宜宾县| 上林县| 杨浦区|