欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python編寫爬蟲小程序

 更新時間:2024年07月09日 16:29:10   投稿:hebedich  
我們可以通過python 來實現(xiàn)這樣一個簡單的爬蟲功能,把我們想要的代碼爬取到本地。下面就看看如何使用python來實現(xiàn)這樣一個功能。

起因

深夜忽然想下載一點電子書來擴充一下kindle,就想起來python學得太淺,什么“裝飾器”啊、“多線程”啊都沒有學到。
想到廖雪峰大神的python教程很經典、很著名。就想找找有木有pdf版的下載,結果居然沒找到?。?/p>

怒了,準備寫個程序直接去爬廖雪峰的教程,然后再html轉成電子書。

過程

過程很有趣呢,用淺薄的python知識,寫python程序,去爬python教程,來學習python。想想有點小激動……
果然python很是方便,50行左右就OK了。直接貼代碼:

# coding:utf-8
import urllib

domain = 'http://www.liaoxuefeng.com'      #廖雪峰的域名
path = r'C:\Users\cyhhao2013\Desktop\temp\\'  #html要保存的路徑

# 一個html的頭文件
input = open(r'C:\Users\cyhhao2013\Desktop\0.html', 'r')
head = input.read()

# 打開python教程主界面
f = urllib.urlopen("http://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000")
home = f.read()
f.close()

# 替換所有空格回車(這樣容易好獲取url)
geturl = home.replace("\n", "")
geturl = geturl.replace(" ", "")

# 得到包含url的字符串
list = geturl.split(r'em;"><ahref="')[1:]

# 強迫癥犯了,一定要把第一個頁面也加進去才完美
list.insert(0, '/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000">')

# 開始遍歷url List
for li in list:
  url = li.split(r'">')[0]
  url = domain + url       #拼湊url
  print url
  f = urllib.urlopen(url)
  html = f.read()

  # 獲得title為了寫文件名
  title = html.split("<title>")[1]
  title = title.split(" - 廖雪峰的官方網站</title>")[0]

  # 要轉一下碼,不然加到路徑里就悲劇了
  title = title.decode('utf-8').replace("/", " ")

  # 截取正文
  html = html.split(r'<!-- block main -->')[1]
  html = html.split(r'<h4>您的支持是作者寫作最大的動力!</h4>')[0]
  html = html.replace(r'src="', 'src="' + domain)

  # 加上頭和尾組成完整的html
  html = head + html+"</body></html>"

  # 輸出文件
  output = open(path + "%d" % list.index(li) + title + '.html', 'w')
  output.write(html)
  output.close()

簡直,人生苦短我用python??!

以上所述就是本文的全部內容了,希望大家能夠喜歡。

相關文章

  • cv2.getStructuringElement()函數及開、閉、腐蝕、膨脹原理講解

    cv2.getStructuringElement()函數及開、閉、腐蝕、膨脹原理講解

    getStructuringElement()函數可用于構造一個特定大小和形狀的結構元素,用于圖像形態(tài)學處理,這篇文章主要介紹了cv2.getStructuringElement()函數及開、閉、腐蝕、膨脹原理講解的相關資料,需要的朋友可以參考下
    2022-12-12
  • 分析python并發(fā)網絡通信模型

    分析python并發(fā)網絡通信模型

    隨著互聯(lián)網和物聯(lián)網的高速發(fā)展,使用網絡的人數和電子設備的數量急劇增長,其也對互聯(lián)網后臺服務程序提出了更高的性能和并發(fā)要求。本文主要分析比較了一些模型的優(yōu)缺點,并且用python來實現(xiàn)
    2021-06-06
  • Python中time.sleep(0.001)是否真的只等待1毫秒

    Python中time.sleep(0.001)是否真的只等待1毫秒

    這篇文章主要介紹了Python中time.sleep(0.001)是否真的只等待1毫秒,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-06-06
  • opencv導入頭文件時報錯#include的解決方法

    opencv導入頭文件時報錯#include的解決方法

    這篇文章主要介紹了opencv導入頭文件時報錯#include的解決方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-07-07
  • 詳解Python如何巧妙實現(xiàn)數學階乘n!

    詳解Python如何巧妙實現(xiàn)數學階乘n!

    一個正整數的階乘(factorial)是所有小于及等于該數的正整數的積,并且0的階乘為1。自然數n的階乘寫作n!,本文就給大家介紹如何使用python和第三方庫來實現(xiàn)數學運算中的階乘以及階乘累計求和
    2023-03-03
  • python繪制雪景圖

    python繪制雪景圖

    這篇文章主要為大家詳細介紹了python繪制雪景圖,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-12-12
  • 10 行Python 代碼實現(xiàn) AI 目標檢測技術【推薦】

    10 行Python 代碼實現(xiàn) AI 目標檢測技術【推薦】

    這篇文章主要介紹了10 行Python 代碼,實現(xiàn) AI 目標檢測技術,看完了代碼,我們在一起聊聊目標檢測背后的技術背景,并解讀這10行Python代碼的由來和實現(xiàn)原理。感興趣的朋友跟隨小編一起看看吧
    2019-06-06
  • Python中range函數的使用方法

    Python中range函數的使用方法

    這篇文章主要介紹了Python中range函數的使用方法,文章基于Python3環(huán)境展開range函數的使用方法,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-05-05
  • Python使用itcaht庫實現(xiàn)微信自動收發(fā)消息功能

    Python使用itcaht庫實現(xiàn)微信自動收發(fā)消息功能

    這篇文章主要介紹了Python使用itcaht庫實現(xiàn)微信自動收發(fā)消息功能,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-07-07
  • 基于本地知識的問答機器人langchain-ChatGLM 大語言模型實現(xiàn)方法詳解

    基于本地知識的問答機器人langchain-ChatGLM 大語言模型實現(xiàn)方法詳解

    這篇文章主要介紹了基于本地知識的問答機器人langchain-ChatGLM 大語言模型實現(xiàn)方法,結合具體實例形式詳細分析了langchain-ChatGLM的功能、原理、部署方法與操作注意事項,需要的朋友可以參考下
    2023-07-07

最新評論