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

python 爬蟲基本使用——統(tǒng)計(jì)杭電oj題目正確率并排序

 更新時(shí)間:2020年10月26日 08:43:03   作者:頎周  
這篇文章主要介紹了python 爬蟲基本的基本使用,主要利用了Urllib和BeautifulSoup4這兩個(gè)庫(kù),配以簡(jiǎn)單的實(shí)例幫助大家理解,感興趣的朋友可以了解下

  python爬蟲主要用兩個(gè)庫(kù):Urllib和BeautifulSoup4。一個(gè)用來(lái)爬取網(wǎng)頁(yè),一個(gè)用來(lái)解析網(wǎng)頁(yè)。

  Urllib是Python內(nèi)置的HTTP請(qǐng)求庫(kù),它包含四個(gè)模塊:

  1、request,最基本的 HTTP 請(qǐng)求模塊,用來(lái)模擬發(fā)送請(qǐng)求,就像在瀏覽器里輸入網(wǎng)址然后敲擊回車一樣,只需要給庫(kù)方法傳入 URL 與額外的參數(shù),就可以模擬這個(gè)過程。
  2、error ,異常處理模塊,如果出現(xiàn)請(qǐng)求錯(cuò)誤,我們可以捕獲這些異常,然后進(jìn)行重試或其他操作保證程序不會(huì)意外終止。
  3、parse ,工具模塊,提供了許多 URL 處理方法,比如拆分、解析、合并等。
  4、robotparser,主要用于識(shí)別網(wǎng)站的 robots.txt 文件,判斷網(wǎng)站是否可以爬取,用的較少。

  這里只用到了最常用的request。

  BeautifulSoup4從bs4包中導(dǎo)出,這里主要用的就是它的解析功能。

  代碼如下,注釋寫得很清楚了:

#杭電OJ題目AC率排序

import urllib.request as ur
from bs4 import BeautifulSoup 

dic = {} #存:"題號(hào):題名 AC 提交次數(shù) 正確率"
for t in range(1,59,1):#1~58頁(yè)都爬一遍
 print(t)
 url = 'http://acm.hdu.edu.cn/listproblem.php?vol='+str(t) #存網(wǎng)址
 bs = BeautifulSoup(ur.urlopen(url).read(),"html.parser")#獲取網(wǎng)址的html并轉(zhuǎn)換為可以python可以使用的結(jié)構(gòu)
 ql0 = str(bs.body.table.contents[11].td.table.contents[1])#網(wǎng)頁(yè)的DOM解析后可以直接通過"."來(lái)尋找子元素,找到題目的列表元素后,將列表中所有題目轉(zhuǎn)換成字符串。(可以輸出看看)
 ql = ql0[30:-10].split(";") #字符串中的題目以";"分隔,將它們分開,并存到列表中

 for i in ql: #以下就是格式化處理每個(gè)題目,然后存到字典中
  info1 = i.split(',"',1)
  num = info1[0].split(',')[1]
  info2 = info1[1].split('",',1)
  name = info2[0]
  right,submit = info2[1].split(',',1)
  submit = submit[:-1] 
  dic[num] = [name,int(right),int(submit),int(right)/int(submit)]
dic = sorted(dic.items(),key = lambda x: x[1][3]) #每頁(yè)題目都存入字典后,把字典中的題目通過正確率進(jìn)行排序,傳出列表

with open('Statistics.txt','w',encoding = 'utf-8') as f:#把統(tǒng)計(jì)排序好的題目保存到txt中
 for i in dic:
  f.write(str(i)+'\n') 
print("Success!")

以上就是python 爬蟲基本使用——統(tǒng)計(jì)杭電oj題目正確率并排序的詳細(xì)內(nèi)容,更多關(guān)于python 爬蟲的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Python尋找路徑和查找文件路徑的示例

    Python尋找路徑和查找文件路徑的示例

    今天小編就為大家分享一篇Python尋找路徑和查找文件路徑的示例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧
    2019-07-07
  • 一文搞懂Python中pandas透視表pivot_table功能

    一文搞懂Python中pandas透視表pivot_table功能

    透視表是一種可以對(duì)數(shù)據(jù)動(dòng)態(tài)排布并且分類匯總的表格格式?;蛟S大多數(shù)人都在Excel使用過數(shù)據(jù)透視表,也體會(huì)到它的強(qiáng)大功能,而在pandas中它被稱作pivot_table,今天通過本文給大家介紹Python中pandas透視表pivot_table功能,感興趣的朋友一起看看吧
    2021-11-11
  • Scrapy爬蟲框架集成selenium及全面詳細(xì)講解

    Scrapy爬蟲框架集成selenium及全面詳細(xì)講解

    這篇文章主要為大家介紹了Scrapy集成selenium,以及scarpy爬蟲框架全面講解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步早日升職加薪
    2022-04-04
  • python使用PIL把透明背景圖片轉(zhuǎn)成白色背景的示例代碼

    python使用PIL把透明背景圖片轉(zhuǎn)成白色背景的示例代碼

    當(dāng)我們?cè)诓杉恍﹫D片的時(shí)候,這些圖片的背景經(jīng)常是透明的,但是如何把透明背景轉(zhuǎn)成白色背景呢,接下來(lái)就給大家解決這個(gè)問題,本文主要介紹了python使用PIL把透明背景圖片轉(zhuǎn)成白色背景,需要的朋友可以參考下
    2023-08-08
  • Python浮點(diǎn)數(shù)四舍五入問題的分析與解決方法

    Python浮點(diǎn)數(shù)四舍五入問題的分析與解決方法

    這篇文章主要給大家介紹了關(guān)于Python中浮點(diǎn)數(shù)四舍五入問題的分析與解決方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Python具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-11-11
  • 淺談插入排序算法在Python程序中的實(shí)現(xiàn)及簡(jiǎn)單改進(jìn)

    淺談插入排序算法在Python程序中的實(shí)現(xiàn)及簡(jiǎn)單改進(jìn)

    這篇文章主要介紹了插入排序算法在Python程序中的實(shí)現(xiàn)及簡(jiǎn)單改進(jìn),插入排序算法的最差時(shí)間復(fù)雜度為O(n^2),最優(yōu)時(shí)間復(fù)雜度為O(n),存在一定的優(yōu)化空間,需要的朋友可以參考下
    2016-05-05
  • python導(dǎo)入pandas具體步驟方法

    python導(dǎo)入pandas具體步驟方法

    在本篇文章中小編給大家分享了關(guān)于python導(dǎo)入pandas的相關(guān)知識(shí)點(diǎn)內(nèi)容,有興趣的朋友們參考學(xué)習(xí)下。
    2019-06-06
  • pytorch Dataset,DataLoader產(chǎn)生自定義的訓(xùn)練數(shù)據(jù)案例

    pytorch Dataset,DataLoader產(chǎn)生自定義的訓(xùn)練數(shù)據(jù)案例

    這篇文章主要介紹了pytorch Dataset, DataLoader產(chǎn)生自定義的訓(xùn)練數(shù)據(jù)案例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧
    2021-03-03
  • python如何求圓的面積

    python如何求圓的面積

    在本篇文章里小編給大家分享了關(guān)于python求圓面積的實(shí)例代碼及相關(guān)擴(kuò)展內(nèi)容,需要的朋友們可以學(xué)習(xí)下。
    2020-07-07
  • pytorch中關(guān)于distributedsampler函數(shù)的使用

    pytorch中關(guān)于distributedsampler函數(shù)的使用

    這篇文章主要介紹了pytorch中關(guān)于distributedsampler函數(shù)的使用,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-02-02

最新評(píng)論