Python爬蟲練習彙總

2022-09-21 10:24:11 字數 2959 閱讀 7590

目錄

安裝必備爬蟲環境軟體:

**位址:

切換頁面的時候url**發生變動,因此切換頁面時切換第n頁則為n.html

根據頁面資料顯示可以檢視到只有題號、難度、標題、通過率、存有資料,因此只需要對此四項資料進行爬取

檢視html**:

在每乙個標籤內都是使用巢狀模式,因此可以使用爬蟲進行爬取

匯入相應的包

#匯入包

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'

# 題目資料

subjects =

# 表頭

csvheaders = ['題號', '難度', '標題', '通過率', '通過數/總提交數']

定義爬取函式,並刪選資訊

for pages in tqdm(range(1, 11 + 1)):

r = requests.get(f'problemset.php-page=.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方法獲取其中的內容

程式設計客棧 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) # 寫入資料

print('\n題目資訊爬取完成!!!')

結果**位址:

可以看到在html跳轉採用 n-方式 因為為n-.html

爬取資料,日期+新聞題目

檢視網頁**,標籤資訊

資料條數

import requests

from bs4 import beautifulsoup

import csv

# 獲取每頁內容

def get_one_page(url):

headers =

try:

info_list_pa程式設計客棧ge = # 一頁的所有資訊

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') # 找到所有li標籤

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():

# 爬取所有資料

info_list_all =

base_url = ''

for i in range(1, 67):

if i == 1:

url = ''

else:

url = base_url + str(67 - i) + '.htm'

info_list_page = get_one_page(url)

info_list_all += info_list_page

# 存入資料

with open('d:/教務新聞.csv', 'w', newline='', encoding='utf-程式設計客棧8') as file:

filewriter = csv.writer(file)

filewriter.writerow(['日期', '標題']) # 寫入表頭

filewriter.writerows(info_list_all) # 寫入資料

if __name__ == '__main__':

main()

結果:總結:

本次實驗對利用python進行爬蟲進行了學習,並實現了對**資訊的爬取。

python爬蟲 練習

目錄通用爬蟲 聚焦爬蟲 聚焦爬蟲是根據指定的需求抓取網路上指定的資料。例如 獲取豆瓣上電影的名稱和影評,而不是獲取整張頁面中所有的資料值。增量式爬蟲 通過爬蟲程式監測某 資料更新的情況,以便可以爬取到該 更新出的新資料。1 發起請求 使用http庫向目標站點發起請求,即傳送乙個request req...

python簡單爬蟲練習

開始學爬蟲了,記錄一下這兩天的瞎鼓搗 先從最簡單的來,指定乙個url,把整個網頁 抓下來,這裡就拿csdn的主頁實驗 coding utf 8 from urllib import request url html request.urlopen url 注意這裡要以utf 8編碼方式開啟 with...

python 爬蟲 requests 錯誤彙總

原因分析 使用的 有問題 cannot connect to proxy 這是乙個https的不安全請求警告,解決方法就是將該警告忽略掉,忽略該警告就不會再提示了 from urllib3.exceptions import insecurerequestwarning from urllib3 i...