python簡單爬蟲練習

2021-08-07 09:17:32 字數 2378 閱讀 1793

開始學爬蟲了,記錄一下這兩天的瞎鼓搗

先從最簡單的來,指定乙個url,把整個網頁**抓下來,這裡就拿csdn的主頁實驗

# -*- coding: utf-8 -*-

from urllib import request

url = ''

html = request.urlopen(url)

# 注意這裡要以utf-8編碼方式開啟

with

open('123.txt', 'w', encoding='utf-8') as f:

f.write(html.read().decode('utf-8'))

# 和讀檔案的操作類似的read()方法,開啟url後用read()方法整個頁面**就抓下來了

# 抓下來後需要將編碼轉換為與所抓取頁面相同的utf-8編碼

爬到乙個網頁後,可以找出網頁裡的鏈結,然後再繼續往下爬,大概就這個思路。先從簡單的來,給出我部落格的目錄鏈結,把第一頁我寫的博文全部爬下來。

先把部落格目錄網頁爬下來看看該怎麼找出博文的鏈結

# -*- coding: utf-8 -*-

from urllib import request

url = ''

html = request.urlopen(url)

with

open('123.txt', 'w', encoding='utf-8') as f:

f.write(html.read().decode('utf-8'))

開啟爬出來的源**,可以看見每個文章的鏈結都是這種格式

於是就可以利用正規表示式來爬取a href=」「之間的鏈結了,但是由於在頁面中還有其他的鏈結,如果只是用正則寫成a href=」(.*)」,很容易抓到其他的鏈結去,我試了試發現連著前面span標籤裡的一大串一塊匹配,找到的鏈結都是文章的,於是**就這麼寫

# -*- coding: utf-8 -*-

from urllib import request

import re

# 部落格目錄的url

url = ''

html = request.urlopen(url)

html = html.read().decode('utf-8')

# 構造正規表示式,'.'表示匹配任意字元,'*'表示匹配前乙個字元0或無限次

# '(.*)'總之這樣配合就是匹配兩邊字元,把中間的全部取出來

# 構造正規表示式

reurl = re.compile('')

# 將構造好的規則與抓取好的網頁源**html進行匹配並輸出結果

print(reurl.findall(html))

# -*- coding: utf-8 -*-

from urllib import request

import re

import os

url = ''

html = request.urlopen(url)

html = html.read().decode('utf-8')

reurl = re.compile('')

# 判斷目錄是否存在與建立目錄

ifnot os.path.isdir('./htmltest'):

os.mkdir('./htmltest')

# 遍歷url目錄

for i in reurl.findall(html):

text_url = '' + i

print(text_url)

html = request.urlopen(text_url)

html = html.read().decode('utf-8')

# 構造正規表示式獲取文章的標題

rename = re.compile('%s">\s+(.+?)\s+' % i)

# findall()獲取到的是列表,需要把字串內容取出

filename = rename.findall(html)[0]

print(filename)

# 將文章的標題作為檔名進行儲存

with

open('./htmltest/%s.html' % filename, 'w', encoding='utf-8') as f:

f.write(html)

python爬蟲簡單 python爬蟲 簡單版

學過python的帥哥都知道,爬蟲是python的非常好玩的東西,而且python自帶urllib urllib2 requests等的庫,為爬蟲的開發提供大大的方便。這次我要用urllib2,爬一堆風景。先上重點 1 response urllib2.urlopen url read 2 soup...

python爬蟲 練習

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

Python爬蟲練習彙總

目錄 安裝必備爬蟲環境軟體 位址 切換頁面的時候url 發生變動,因此切換頁面時切換第n頁則為n.html 根據頁面資料顯示可以檢視到只有題號 難度 標題 通過率 存有資料,因此只需要對此四項資料進行爬取 檢視html 在每乙個標籤內都是使用巢狀模式,因此可以使用爬蟲進行爬取 匯入相應的包 匯入包 ...