最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python爬蟲練習(xí)匯總

 更新時間:2022年01月25日 13:23:10   作者:路過_聽雨聲  
這篇文章主要給大家分享的是Python爬蟲練習(xí)題,文章以爬取南陽理工OJ為題目,根據(jù)頁面數(shù)據(jù)顯示可以查看到只有題號、難度、標(biāo)題、通過率、存有數(shù)據(jù),因此只需要對此四項數(shù)據(jù)進行爬取,下面一起靜茹文章查看具體的操作過程吧</P><P>

一、 軟件配置

安裝必備爬蟲環(huán)境軟件:

  • python 3.8
  • pip install requests
  • pip install beautifulsoup4

二、爬取南陽理工OJ題目

網(wǎng)站地址:http://www.51mxd.cn/

(一)頁面分析

切換頁面的時候url網(wǎng)址發(fā)生變動,因此切換頁面時切換第n頁則為n.html

查看html代碼:

在每一個標(biāo)簽內(nèi)都是<tr><td></td></tr>使用嵌套模式,因此可以使用爬蟲進行爬取

(二)代碼編寫

導(dǎo)入相應(yīng)的包

#導(dǎo)入包
import requests
from bs4 import BeautifulSoup
import csv
from tqdm import tqdm#在電腦終端上顯示進度,使代碼可視化進度加快

定義訪問瀏覽器所需的請求頭和寫入csv文件需要的表頭及存儲列表

# 模擬瀏覽器訪問
Headers = 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.25 Safari/537.36 Core/1.70.3741.400 QQBrowser/10.5.3863.400'
# 題目數(shù)據(jù)
subjects = []
# 表頭
csvHeaders = ['題號', '難度', '標(biāo)題', '通過率', '通過數(shù)/總提交數(shù)']

定義爬取函數(shù),并刪選信息

for pages in tqdm(range(1, 11 + 1)):
    r = requests.get(f'http://www.51mxd.cn/problemset.php-page={pages}.htm', Headers)

    r.raise_for_status()
    r.encoding = 'utf-8'
    soup = BeautifulSoup(r.text, 'html5lib')

    td = soup.find_all('td')#講所有含TD的項提取出來
    subject = []
    for t in td:
        if t.string is not None:
            #利用string方法獲取其中的內(nèi)容
            subject.append(t.string)
            if len(subject) == 5:
                subjects.append(subject)
                subject = []

寫入文件

with open('D:/NYOJ_Subjects.csv', 'w', newline='') as file:
    fileWriter = csv.writer(file)
    fileWriter.writerow(csvHeaders)  # 寫入表頭
    fileWriter.writerows(subjects)   # 寫入數(shù)據(jù)

print('\n題目信息爬取完成?。?!')

結(jié)果

三、爬取學(xué)校信息通知

網(wǎng)站地址:http://news.cqjtu.edu.cn/xxtz.htm

(一)頁面分析

可以看到在html跳轉(zhuǎn)采用 n-方式 因為為n-.html

爬取數(shù)據(jù),日期+新聞題目

(二)代碼編寫

import requests
from bs4 import BeautifulSoup
import csv

# 獲取每頁內(nèi)容
def get_one_page(url):
    headers = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36'
    }
    try:
        info_list_page = []  # 一頁的所有信息
        resp = requests.get(url, headers=headers)
        resp.encoding = resp.status_code
        page_text = resp.text
        soup = BeautifulSoup(page_text, 'lxml')
        li_list = soup.select('.left-list > ul > li')  # 找到所有l(wèi)i標(biāo)簽
        for li in li_list:
            divs = li.select('div')
            date = divs[0].string.strip()
            title = divs[1].a.string
            info = [date, title]
            info_list_page.append(info)
    except Exception as e:
        print('爬取' + url + '錯誤')
        print(e)
        return None
    else:
        resp.close()
    print('爬取' + url + '成功')
    return info_list_page

# main
def main():
    # 爬取所有數(shù)據(jù)
    info_list_all = []
    base_url = 'http://news.cqjtu.edu.cn/xxtz/'
    for i in range(1, 67):
        if i == 1:
            url = 'http://news.cqjtu.edu.cn/xxtz.htm'
        else:
            url = base_url + str(67 - i) + '.htm'
        info_list_page = get_one_page(url)
        info_list_all += info_list_page
    # 存入數(shù)據(jù)
    with open('D:/教務(wù)新聞.csv', 'w', newline='', encoding='utf-8') as file:
        fileWriter = csv.writer(file)
        fileWriter.writerow(['日期', '標(biāo)題'])  # 寫入表頭
        fileWriter.writerows(info_list_all)  # 寫入數(shù)據(jù)


if __name__ == '__main__':
    main()

結(jié)果:

總結(jié):

本次實驗對利用Python 進行爬蟲進行了學(xué)習(xí),并實現(xiàn)了對網(wǎng)站信息的爬取。

到此這篇關(guān)于Python爬蟲練習(xí)匯總的文章就介紹到這了,更多相關(guān)Python爬蟲練習(xí)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python編程技巧連接列表的八種操作方法

    Python編程技巧連接列表的八種操作方法

    這篇文章主要為大家介紹了Python編程技巧之連接列表的八種操作方法,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步
    2021-10-10
  • Pytorch 圖像變換函數(shù)集合小結(jié)

    Pytorch 圖像變換函數(shù)集合小結(jié)

    這篇文章主要介紹了Pytorch 圖像變換函數(shù)集合小結(jié),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-02-02
  • Pycharm配置遠程SSH服務(wù)器實現(xiàn)(切換不同虛擬環(huán)境)

    Pycharm配置遠程SSH服務(wù)器實現(xiàn)(切換不同虛擬環(huán)境)

    本文主要介紹了Pycharm配置遠程SSH服務(wù)器實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02
  • Windows下pycharm安裝第三方庫失敗(通用解決方案)

    Windows下pycharm安裝第三方庫失敗(通用解決方案)

    這篇文章主要介紹了Windows下pycharm安裝第三方庫失敗(通用解決方案),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • python畫環(huán)形圖的方法

    python畫環(huán)形圖的方法

    這篇文章主要為大家詳細介紹了python畫環(huán)形圖的相關(guān)代碼,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-03-03
  • python獲取酷狗音樂top500的下載地址 MP3格式

    python獲取酷狗音樂top500的下載地址 MP3格式

    這篇文章主要介紹了python獲取酷狗音樂top500的下載地址 MP3格式,文中給大家提到了python--爬取酷狗TOP500的數(shù)據(jù),需要的朋友可以參考下
    2018-04-04
  • Python讀取MRI并顯示為灰度圖像實例代碼

    Python讀取MRI并顯示為灰度圖像實例代碼

    這篇文章主要介紹了Python讀取MRI并顯示為灰度圖像實例代碼,具有一定借鑒價值,需要的朋友可以參考下
    2018-01-01
  • pycharm遠程連接docker容器的操作流程

    pycharm遠程連接docker容器的操作流程

    這篇文章主要給大家介紹了pycharm遠程連接docker容器的操作流程,文中通過代碼示例和圖文講解介紹的非常詳細,具有一定的參考價值,需要的朋友可以參考下
    2023-08-08
  • Python 自動補全(vim)

    Python 自動補全(vim)

    Python自動補全有vim編輯下和python交互模式下,下面分別介紹如何在這2種情況下實現(xiàn)Tab鍵自動補全
    2014-11-11
  • Python常見類型轉(zhuǎn)換的小結(jié)

    Python常見類型轉(zhuǎn)換的小結(jié)

    本文主要介紹了Python常見類型轉(zhuǎn)換的小結(jié),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02

最新評論

宿迁市| 九龙城区| 梅河口市| 闽侯县| 安国市| 巴彦县| 咸宁市| 乐安县| 天长市| 清流县| 曲水县| 安多县| 淮滨县| 布尔津县| 明水县| 安阳市| 石嘴山市| 毕节市| 荥阳市| 靖西县| 介休市| 札达县| 新龙县| 潢川县| 平泉县| 凉山| 察雅县| 渭南市| 峨眉山市| 万宁市| 仪征市| 青冈县| 鄂托克前旗| 德庆县| 武城县| 磐安县| 乌兰察布市| 商丘市| 九江县| 武定县| 固阳县|