欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

python爬蟲系列(一)

系統 1747 0

前言

關于python爬蟲目前有兩個主流的庫一個是urllib和requests 在python3中urllib2已經沒有了,取而代之的是urllib.request。這里的話我將首先介紹urllib.request的使用。之后我再介紹request,我本人是打算做一個系列的爬蟲教程不僅僅包括入門還有實戰進階所以我希望瀏覽我寫的博客時可以按順序瀏覽學習。那么廢話不多說奉上名言 成功沒有偶然。 即便有些勝利者謙虛地說,自己的成功是偶然的緣故。—— 尼采 開始正片!!!

urllib 下載

打開cmd命令輸入 pip install urllib3 點擊回車
python爬蟲系列(一)_第1張圖片
當然有時候由于pip版本問題可能無法下載不過沒關系你只需要輸入 python -m pip install --upgrade pip 更新版本之后打開python輸入:
import urllib.request
如果沒有報錯那么恭喜你成功了!

urllib的模塊

request: 基本的HTTP請求模塊用于模擬發送請求
error: 異常處理模塊
parse: 用于處理URL比如拆分,解析,合并,data參數等
robotparser: 用于識別網站的robot.txt文件,判斷網站是否可以爬取

urllib.request

urllib.request的方法有:
urlretrieve() 下載文件
urlcleanup() 釋放緩存
urlopen() 發送請求get
這里我們實戰一下

            
              
                import
              
               urllib
              
                .
              
              request 
              
                as
              
               u
r
              
                =
              
              u
              
                .
              
              urlopen
              
                (
              
              
                'https://123.sogou.com/'
              
              
                )
              
              
u
              
                .
              
              urlcleanup
              
                (
              
              
                )
              
              
                print
              
              
                (
              
              r
              
                .
              
              read
              
                (
              
              
                )
              
              
                .
              
              decode
              
                (
              
              
                'utf-8'
              
              
                )
              
              
                )
              
            
          

urlopen()返回了一個可讀的對象之后我們將其解碼為‘utf-8’
之后我們可以讀取出網站的源代碼。之后對其進行分析以后
我們在對其html進行詳細解釋

常見報錯

前面我們已經說了 print(r.read().decode('utf-8')) 可得到網站源碼
然如果沒猜錯的話當你運行上述代碼時可能會遇到如下報錯
在這里插入圖片描述

當然如果你沒有遇到那么,,看看也無妨。 具體是怎么回事呢其實很簡單,出現異常報錯是由于設置了decode()方法的第二個參數errors為嚴格(strict)形式造成的,而這個是它默認的模式所以改個模式就好啦如下:

            
              print(r.read().decode('utf-8','ignore'))

            
          

python爬蟲系列(一)_第2張圖片
ok! 當你也這樣之后恭喜你成功了!不過還沒完!!!

urlopen 方法

info 獲取當前內容狀態
getcode 輸出狀態碼
geturl 獲取當前網址

            
              print(r.info())
print(r.getcode())
print((r.geturl()))


            
          

效果 python爬蟲系列(一)_第3張圖片
完整代碼

            
              
                import
              
               urllib
              
                .
              
              request 
              
                as
              
               u
r
              
                =
              
              u
              
                .
              
              urlopen
              
                (
              
              
                'https://123.sogou.com/'
              
              
                )
              
              
u
              
                .
              
              urlcleanup
              
                (
              
              
                )
              
              
                print
              
              
                (
              
              r
              
                .
              
              read
              
                (
              
              
                )
              
              
                .
              
              decode
              
                (
              
              
                'utf-8'
              
              
                ,
              
              
                'ignore'
              
              
                )
              
              
                )
              
              
                print
              
              
                (
              
              r
              
                .
              
              info
              
                (
              
              
                )
              
              
                )
              
              
                print
              
              
                (
              
              r
              
                .
              
              getcode
              
                (
              
              
                )
              
              
                )
              
              
                print
              
              
                (
              
              
                (
              
              r
              
                .
              
              geturl
              
                (
              
              
                )
              
              
                )
              
              
                )
              
            
          

那么今天就這樣吧。等等來個結束福利!

實戰示例(福利)

` python爬蟲系列(一)_第4張圖片

            
              
                import
              
               urllib
              
                .
              
              request

              
                import
              
               re
html 
              
                =
              
               urllib
              
                .
              
              request
              
                .
              
              urlopen
              
                (
              
              r
              
                'http://www.weather.com.cn/weather/101240701.shtml'
              
              
                )
              
              
urllib
              
                .
              
              request
              
                .
              
              urlcleanup
              
                (
              
              
                )
              
              
read 
              
                =
              
               html
              
                .
              
              read
              
                (
              
              
                )
              
              
                .
              
              decode
              
                (
              
              
                'utf-8'
              
              
                )
              
              
                def
              
              
                get_way
              
              
                (
              
              path
              
                ,
              
              string
              
                )
              
              
                :
              
              
    path_way
              
                =
              
              path
    path_get
              
                =
              
              re
              
                .
              
              
                compile
              
              
                (
              
              path_way
              
                )
              
              
    ture_key
              
                =
              
              path_get
              
                .
              
              findall
              
                (
              
              string
              
                ,
              
              re
              
                .
              
              M
              
                )
              
              
                return
              
              
                str
              
              
                (
              
              ture_key
              
                )
              
              
path_html
              
                =
              
              
                '
                
                
see_html
                
                  =
                
                get_way
                
                  (
                
                path_html
                
                  ,
                
                read
                
                  )
                
                
path_see
                
                  =
                
                
                  'v.*°C'
                
                
see_weather
                
                  =
                
                get_way
                
                  (
                
                path_see
                
                  ,
                
                see_html
                
                  )
                
                
day
                
                  =
                
                get_way
                
                  (
                
                
                  '.*日'
                
                
                  ,
                
                see_weather
                
                  )
                
                
                  .
                
                strip
                
                  (
                
                
                  '[\"\']'
                
                
                  )
                
                
weather
                
                  =
                
                get_way
                
                  (
                
                
                  '周.*°C'
                
                
                  ,
                
                see_weather
                
                  )
                
                
                  .
                
                strip
                
                  (
                
                
                  '[\']'
                
                
                  )
                
                
                  print
                
                
                  (
                
                weather
                
                  )
                
              
            
          

http://www.weather.com.cn/weather/101240701.shtml 天氣查詢網站。
得嘞 拜了個拜!下次表達式基礎語法(用性命擔保這個實戰示例絕對沒有超出今天內容)


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 天天干夜夜爽 | 欧美日本国产VA高清CABAL | 亚洲国产国产综合一区首页 | 看黄色毛片 | 国产中文字幕在线观看 | 护士hd欧美free性xxxx | 欧美激情精品久久久久久黑人 | 国产成人免费精品 | a爱片 | 国产精品久久久久久久免费大片 | 毛片免费一区二区三区 | 六月丁香综合 | 午夜资源| 国产一级毛片高清视频 | 黑人群姣中国妞在线观看 | 97在线碰碰观看免费高清 | 欧美久久综合性欧美 | 亚洲欧美中文在线观看4 | 欧美性爽xxxⅹbbbb | 精品自拍视频 | 一区二区av | 久久亚洲精品中文字幕二区 | 三级免费黄| 亚洲精品麻豆 | 色婷婷六月天 | 日韩六九视频 | 91青青青国产在观免费影视 | 欧美日韩一区二区三区四区五区 | 国产免费小视频在线观看 | 欧美黑人玩白人巨大极品 | 欧美久久综合性欧美 | 国产视频中文字幕 | 亚洲精品久久久蜜桃 | 欧美成年视频 | 成人免费影 | 日本AAA片爽快视频 波多在线 | sese国产| 一区亚洲 | 日本AAA片爽快视频 波多在线 | 91福利国产在线观看网站 | 欧美影院入口 |