爬取2023年hg錄取分數線

2022-08-31 18:24:14 字數 1770 閱讀 9435

這個星期通過學習mooc上的爬蟲教程,初步學習掌握了一些關於爬蟲的知識。於是我就想通過爬蟲這個工具來爬取2023年hg的錄取分數線。進而複習鞏固這星期所學的知識。

關於爬蟲的實現,我的思維步驟是分為三步:

1、首先我們要獲取網頁的html內容,這個過程通過我們的第三方庫requests庫(庫中的get函式)便可以實現,我將其想象成獲取「原材料」。

2、第二步就是我們要對html網頁內容就行分析,分析之後要找到我們想要找到的資訊以便後面我們的資料處理。那通過什麼來分析html網頁內容呢?就要通過bs4庫(from bs4 import beatifulsoup)這個重要工具對其中的內容進行分析,我將其想象成把原材料進行處理並做成湯的過程(soup = beautifulsoup(demo,'html.parser'))這樣想也十分形象。通過find_all(),<>.string等函式獲取你想要的資訊。

3、最後一步那就是對資料的處理了,可以根據你所想要的效果對資料進行處理,建議可以將資料放入列表中形成二維資料

,這樣也方便我們對處理的各種處理。我將其想象成對湯的再加工,最後通過自己的努力就可以得到一鍋美味的湯了。

我首先找到了**'',我通過直接查詢網頁的源**大致了解了一下html的內容。我通過requests庫順利爬取到了網頁的內容。之後在提取資訊的過程中我需要了問題,就是我所想找的內容所對應的標籤並不是唯一的,其他內容所對應的標籤發生了重合。這對我專門提取資訊造成了困難。如下:

那麼這個問題該如何解決呢?通常可以先將標籤所對應的所有內容都提取出來,放在列表中,然後找去資訊之間的不同之處,剔除我們所不要的資訊。再對留下的資訊進行處理。這是常規的思路。但這次我所提取的內容不多,這次我提取我所想要的資訊是直接通過列表的索引來實現的,來的也比較快。提取之後又出現了新的問題,如下

列表元素中有很多『\t』,'\n','\r』的部分,這時候我是通過strip()來處理,這個大家也很熟悉,這對字串進行處理的常用函式。strip()若括號中不含引數,可以去初字串開頭和結尾的空格或者換行字元。這樣就對資料進行了有效的處理,效果如下:

接下來就是將這些資料再放入乙個列表中,形成乙個二維資料。之後便可進行通過列表索引對資料進行處理了,最終效果如下(本人比較懶很多元素都沒有列印出來):

源**如下:

可以看出我的**改進的地方還有很多,對於函式這方面的使用還是不太到位,以及對資料的處理最終產生的效果也比較一般,水平也比較有限。所以也希望同學們多多交流意見,多多批評指正。

爬取全國各大院校2019考研調劑資訊

實現 kaoyan.py coding utf 8 from copy import deepcopy import scrapy from scrapy.linkextractors import linkextractor from scrapy.spiders import crawlspid...

Python爬取小說 2 單章節爬取

coding utf 8 urlopen 開啟 request 請求 from urllib.request import urlopen,request 匯入gzip包 解壓gzip 封裝請求 req request url path,headers headers 開啟鏈結 conn urlop...

python動態爬取知乎 python爬取微博動態

在初學爬蟲的過程中,我們會發現很多 都使用ajax技術動態載入資料,和常規的 不一樣,資料是動態載入的,如果我們使用常規的方法爬取網頁,得到的只是一堆html 沒有任何的資料。比如微博就是如此,我們可以通過下滑來獲取更多的動態。對於這樣的網頁該如何抓取呢?我們以微博使用者動態為例,抓取某名使用者的文...