Python ?C7-7——古巴網絡內容解析復盤和對比

? ? ? ? ? 看到大大的代碼,發現自己的關注點出現了偏差。其實主要的內容和涉及的步驟有兩方面

1、解析多個網站的內容,并存放內容;

2、解析同一網站的內容,并把其中鏈接到的網址內容一并解析出來并存好。

? ? ? ? 自己的關注點放在了第一個上,預建立多個網站并存于列表中,用for循環解析每個網站的內容并存于字典中(為了實現網站和內容的對應),把字典序列化到文件中,然后再提取文件內容。

? ? ? ? 而大大的代碼側重于2,把每個網站涉及的鏈接部分重新訪問并解析至文件中,如果鏈接涉及的網頁內容還有網址還會繼續解析,做到對同一網頁的持續解析。這個是自己沒有想到、做到、不足的地方。


? ? ? 以上是大大的代碼:

1、導入re、urllib、urllib2、pickle模塊;解析前面作業中的網址并存儲在指定文件中;

2、定義一個變量,初始化為''——空字符的字符串變量;定義下載內容的空字典downs;

3、定義函數,用于訪問遇到的鏈接并請求訪問、打開和讀取內容;將讀取的內容返回給函數;

4、打開指定的解析文件,按行讀取文件內容為列表并對內容格式化;在最后對正則表達替換的內容利用split分離換行符"\n";

5、for循環中根據文件內容進行抽取合法鏈接并調用所定義的函數,訪問鏈接讀取內容且存儲到相應網址的字典中;

6、將抽取的內容序列化到文件中;

7、抽取文件中的內容(反序列化)到變量。

? ? ? ? 其中使用了urllib2模塊,在每天的資料查閱中大概看了下,沒留意其用法也就沒有想到任務中會用到。在資料的學習中任然要仔細思考,提高重視程度。

? ? ? ? 定義函數的念頭也只是一閃而過并未仔細思考,其實只要可以重復利用的部分都可以利用函數來返回值。在以后的學習和編碼中多思考哪些部分可以用函數去表示,并多練習。

? ? ? ? 其中urllib2.Request()表示對傳遞的url參數進行實例化——Request是一個類;urllib2.urlopen()表示對實例化的url對象訪問服務器并打開這個網頁;最后.read()對打開的對象進行讀取。

? ? ? ? 可以延伸想到的是,對同一個網頁有很多深度鏈接的網址時,一直解析下去就是爬蟲的原理,先解析門戶網站的內容,然后挑出鏈接,繼續解析,很復雜,可以想到的是定義解析的函數,利用while循環一直進行下去。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 173,269評論 25 708
  • Spring Cloud為開發人員提供了快速構建分布式系統中一些常見模式的工具(例如配置管理,服務發現,斷路器,智...
    卡卡羅2017閱讀 134,923評論 18 139
  • 鼻炎導致的鼻塞和心里產生的無限的壓迫感使我喘不過氣來,我害怕這種感覺卻又享受這種感覺。 這感覺好像要被帶到...
    希希里閱讀 267評論 0 0
  • 一身紅束裝 一拜天地 你可愿 至此以后 袖手天下 二人相愛者 二拜父母 你可愿 至此以后 你我同心 三生三世人 夫...
    小森有禮閱讀 205評論 1 1
  • (人語,孩出滿月認娘親,娘親開始掉發) 密齒梳頭 斷發如雪 飄落 認識娘親 已經早早 在一個虛弱的黎明 小小的手撫...
    夏蟲的晚風疏閱讀 214評論 2 5