欧美三区_成人在线免费观看视频_欧美极品少妇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條評論
主站蜘蛛池模板: 中文字幕一区二区在线观看 | 888奇米影视 | 日本久久综合网 | 看真人视频a级毛片 | 无遮挡很爽很污很黄的网站w | 99色综合 | 婷婷在线五月 | 亚洲va欧美va天堂v国产综合 | 中文字幕亚洲一区 | 国产精品成人免费观看 | 99热.com| 国产成人高清视频 | 久久精品人人做人人 | 欧美日韩在线免费观看 | 一区二区三区高清 | 亚洲a网| 日韩精品www | 国产三级在线视频播放线 | 91伊人| 亚洲第一视频 | 日韩一区二区在线视频 | 亚洲国产精品一区二区第一页 | 日本欧美中文字幕人在线 | 性xxxx免费观看视频 | 一区二区中文 | 久久精品国产精品亚洲综合 | 99久久精品国产一区二区成人 | 欧美日韩中文在线视频 | 男女视频免费在线观看 | 国产第113页 | 小明永久成人一区二区 | 素人视频在线观看免费 | 国产精品一区二 | Jizjizjizjiz日本护士水多 | 91网站在线看 | 欧美视频在线免费 | 免费黄色小视频 | 久久亚洲日本不卡一区二区 | 中文成人在线 | av天空| 男女生性毛片免费观看 |