Python 3 0最簡單的爬蟲

2021-08-08 13:59:41 字數 1088 閱讀 4535

**:

做個小專案練練手,比較有動力繼續下去,這邊參考最簡單的爬蟲程式自己抄了一下。但是因為3.0的關係,無法直接使用,根據2.0版本的**進行修改後成功了。

**如下:

# -*- coding: utf-8 -*-

import urllib.request

import re

#該函式用於獲取html內容

#使用到urlopen的函式

defgethtml

(url):

page = urllib.request.urlopen(url)

#3.0直接使用read()函式會出現報錯,提示是編碼有問題。在後面加上編碼就ok了。

html = page.read().decode("utf-8")

return html

defgetimg

(html):

#reg為正則替換,這邊是根據貼吧的帖子的在html中的狀態拼的,只適用於貼吧帖子下圖

#正則的詳細教程見:

#compile比較簡單的解釋是製作乙個漏斗,規則如reg,只有符合的才能夠通過。

imgre = re.compile(reg)

imglist = re.findall(imgre, html)

x = 0

for imgurl in imglist:

#print ("for test %s" % x) 檢視是否走到迴圈用的print

#html變數定義乙個需要讀取的**,這邊選擇的是某個貼吧的帖子。

html = gethtml("")

#執行操作

getimg(html)

print("all over!")

Python3 0的新改動

這篇文章主要介紹了相比於python2.6,python3.0的新特性。更詳細的介紹請參見 python3.0的文件。common stumbling blocks 本段簡單的列出容易使人出錯的變動 初學者應該注意 old print the answer is 2 2 new print the ...

Python3 0和Python2 0的差異

一 print 從語句變為函式 原 print 1,2 3 改為 print 1,2 3 二 range 與 xrange 原 range 0,4 結果 是 列表 0,1,2,3 改為 list range 0,4 原 xrange 0,4 適用於 for 迴圈的變數控制 改為 range 0,4 ...

python 2 0 和python 3 0的區別

區別一 input功能會將使用者輸入的內容統一以 字串 來對待 python2中的raw input相當於python3當中的input,python3沒有raw input 區別二 python 2 的 print 被print 函式取代了 區別三 python3中 表示真除,表示取餘,結果取整 ...