日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

Python语言程序设计之urllib.request抓取页面,网易公开课之《麻省理工学院公开课:算法导论》

發布時間:2025/5/22 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python语言程序设计之urllib.request抓取页面,网易公开课之《麻省理工学院公开课:算法导论》 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Python語言用urllib.request模塊抓取頁面非常簡單,再將抓取的頁面內容用re模塊解析,找出自己想要的東西。下面就就此方法來抓取網易公開課之《麻省理工學院公開課:算法導論》,解析頁面內容,找出所有課程列表和相應的鏈接地址。

一、用urllib.request模塊抓取頁面

001

data = urllib.request.urlopen(url).read().decode()

二、用re模塊解析頁面內容

001

rslist = re.compile(pattern).findall(data)

下面就寫成完整的示例代碼,僅供參考:

001

002

003

004

005

006

007

008

009

010

011

012

013

014

015

016

import re

import urllib.request

?

url = "http://open.163.com/special/opencourse/algorithms.html"

data = urllib.request.urlopen(url).read().decode('GBK', "ignore")

?

pattern = '''<td class="u-ctitle">

????????????????????????????(.*?)

????????????????????????????<a href="(.*?)">(.*?)</a>

????????????????????????????????????????????????????????<img src=".*?" class="isyy"/>

????????????????????????????????????????????????????</td>'''

rslist = re.compile(pattern).findall(data)

?

for rs in rslist:

????print(rs[0]+rs[2])

????print(rs[1])

運行結果如下:

001

002

003

004

005

006

007

008

009

010

011

012

013

014

015

016

017

018

019

020

021

022

023

024

025

026

027

028

029

030

031

032

033

034

035

036

037

038

039

040

041

042

043

044

045

046

[第1集]課程簡介及算法分析

http://open.163.com/movie/2010/12/G/F/M6UTT5U0I_M6V2T1JGF.html

[第2集]漸近符號、遞歸及解法

http://open.163.com/movie/2010/12/2/E/M6UTT5U0I_M6V2T4T2E.html

[第3集]分治法(1)

http://open.163.com/movie/2010/12/8/U/M6UTT5U0I_M6V2T998U.html

[第4集]快排及隨機化算法

http://open.163.com/movie/2010/12/S/4/M6UTT5U0I_M6V2T7IS4.html

[第5集]線性時間排序

http://open.163.com/movie/2010/12/7/V/M6UTT5U0I_M6V2TBK7V.html

[第6集]順序統計、中值

http://open.163.com/movie/2010/12/J/J/M6UTT5U0I_M756SE0JJ.html

[第7集]哈希表

http://open.163.com/movie/2010/12/R/E/M6UTT5U0I_M6V2TG4RE.html

[第8集]全域哈希和完全哈希

http://open.163.com/movie/2010/12/3/A/M6UTT5U0I_M6V2TGI3A.html

[第9集]二叉搜索樹

http://open.163.com/movie/2010/12/6/U/M6UTT5U0I_M6V2TGB6U.html

[第10集]平衡搜索樹

http://open.163.com/movie/2010/12/9/J/M6UTT5U0I_M6V2TJ49J.html

[第11集]擴充的數據結構、動態有序統計和區間樹

http://open.163.com/movie/2010/12/G/0/M6UTT5U0I_M6V2TSIG0.html

[第12集]跳躍表

http://open.163.com/movie/2010/12/7/S/M6UTT5U0I_M6V2TTJ7S.html

[第13集]平攤分析,表的擴增,勢能方法

http://open.163.com/movie/2010/12/A/L/M6UTT5U0I_M6V2U1OAL.html

[第14集]競爭性分析,自組織表

http://open.163.com/movie/2010/12/I/2/M6UTT5U0I_M6V2U1BI2.html

[第15集]動態規劃,最長公共子序列

http://open.163.com/movie/2010/12/L/4/M6UTT5U0I_M6V2U1HL4.html

[第16集]貪婪算法,最小生成樹

http://open.163.com/movie/2010/12/1/S/M6UTT5U0I_M6V2U3R1S.html

[第17集]最短路徑算法:Dijkstra算法,廣度優先搜索

http://open.163.com/movie/2010/12/E/P/M6UTT5U0I_M6V2U4BEP.html

[第18集]最短路徑算法:Bellman和差分約束系統

http://open.163.com/movie/2010/12/4/O/M6UTT5U0I_M6V2U754O.html

[第19集]最短路徑算法:點的最短路徑

http://open.163.com/movie/2010/12/8/H/M6UTT5U0I_M6V2UDN8H.html

[第20集]高級課題 并行算法(一)

http://open.163.com/movie/2010/12/V/E/M6UTT5U0I_M6V2UDUVE.html

[第21集]高級課題 并行算法(二)

http://open.163.com/movie/2010/12/0/B/M6UTT5U0I_M6V2UGJ0B.html

[第22集]高級課題 緩存參數無關算法

http://open.163.com/movie/2010/12/L/L/M6UTT5U0I_M6V2UIKLL.html

[第23集]緩存無關算法2

http://open.163.com/movie/2010/12/E/1/M6UTT5U0I_M6V2UI5E1.html

抓取到23集,這正是我們所需要的結果,至此大功告成~~~

總結

以上是生活随笔為你收集整理的Python语言程序设计之urllib.request抓取页面,网易公开课之《麻省理工学院公开课:算法导论》的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。