Python爬取網頁:爬取的網頁爲http://www.tedu.cn 保存的文件名爲/tmp/tedu.html

4.1 問題
編寫一個get_web.py腳本,實現以下功能:

爬取的網頁爲http://www.tedu.cn
保存的文件名爲/tmp/tedu.html
4.2 方案
導入sys模塊,用sys.argv方法獲取get_web函數實參,讓用戶在命令行上提供http://www.tedu.cn和/tmp/tedu.html兩個參數,調用get_web函數實現如下功能:

1)導入urllib模塊,使用urllib模塊的urlopen函數打開url(即網址),賦值給html

2)以寫方式打開/tmp/tedu.html文件

3)以循環方式:

讀html獲取的數據,保存到data

將data寫入/tmp/tedu.html

4)關閉html

4.3 步驟
實現此案例需要按照如下步驟進行。

步驟一:編寫腳本

[root@localhost day11]# vim get_web.py
#!/usr/bin/env python3
import sys
from urllib.request import urlopen
def get_web(url, fname):
    html = urlopen(url)    #使用urllib模塊的urlopen函數打開url,賦值給html
    with open(fname, 'wb') as fobj:
        while True:
            data = html.read(4096)
            if not data:
                break
            fobj.write(data)
    html.close()
if __name__ == '__main__':
    get_web(sys.argv[1], sys.argv[2])        #讓用戶在命令行上提供網址和下載數據保存位置

步驟二:測試腳本執行

[root@localhost day11]# python3 get_web.py http://www.tedu.cn /tmp/tedu.html
[root@localhost day11]# cat /tmp/tedu.html
執行cat命令可以看到/tmp/tedu.html文件中爬取到的內容
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章