使用Perl進行網頁資料抓取 初學者簡明版

2021-07-23 08:05:36 字數 1690 閱讀 6692

為什麼選擇perl來做,主要還是perl在文字處理方面有著天然的優勢。

做這個事情的大概順序是:

1,perl

既然是初學,首先要會用perl,如果會的話,可以跳過這部分。如果不會也沒關係,先安裝一下,在網上搜activeperl的win32安裝包,一路下一步就好了。怎麼執行呢,拿記事本寫個perl程式,儲存到d盤根目錄下,名字是1.pl,內容是:

#

!perl -w

usestrict;

print

"hello,world!\n

";

然後進cmd,在d:\下,輸入1.pl回車,如果不行,就輸入perl 1.pl,就能看到我們的helloworld了。

perl其實挺簡單的,下個《perl語言入門》,作者是randal l.scbwartz,把2,3,4,5,8,9章看完就ok了,正規表示式一定要會。

2,分析網頁結構

在網頁中找到最後一頁:這樣可以觀察到,北京的加油站就是頁.html。所以只要做一次從1-62的遍歷,就可以從第一頁抓取到第62頁了;

在網頁中,選擇檢視原始檔,會發現,其實每一頁的加油站的列表,每個加油站對應的源**都是一樣的(廢話~),比如這段:

script

>

<

ul>

<

li class

="width310"

>

<

h1><

a href

="/gas/details_51812.html"

target

="_blank"

>中石化石泉加油站

a>

h1>

>

li>

<

li class

="width400"

><

p>

p>

li>

<

li class

="width140"

>

那正規表示式,提取就好了,表示式是:s#class="width310">.+?href=".+?>(.+?)<.>(.+?)

3,編碼:

然後就是源**了:

#

!perl -w

usestrict;

use lwp::useragent;

open output,'

>

','weblist.txt

' or die

'weblist.txt error!';

my$get_page = lwp::useragent ->new;

$get_page -> timeout(10

);my

$page_addr = '';my

$response = '';my

$content = '';my

$pro_name = '';my

$pro_addr = '';my

$web_list = ''

;&print_list();

subprint_list}}

輸出的weblist.txt,複製到excel裡面,因為每行有\t隔開,所以直接就是**形式的。

也有複雜的網頁,其實乙個道理,我一般是用txt作為中轉,先在列表頁抓取所有內容頁的**寫入txt,再做個程式依次地抓取內容頁。

python 抓取網頁資料

利用python進行簡單的資料分析 1 首先要進行分析網頁的html,我們所要抓取的資料是根據銷量排名的手機資訊,所以主要需要抓取手機的型號 銷量,按照 由小見大 的方法來獲取所需要的html資訊,如下圖所示 由上可以看出手機型號所在的html標籤是 h3 手機 是在div中的class屬性為 pr...

網頁資料抓取 爬蟲

資料抓取其實從字面意思就知道它是抓取資料的,在網際網路世界中,資料量是乙個非常大的。有時候靠人為去獲取資料這是乙個非常不明智的。尤其是你需要的資料來自很多不同的地方。網路爬蟲是是一種按照一定的規則,自動地抓取網際網路 資訊的程式或者指令碼。它主要抓取形式有兩種 1種是抓取網頁鏈結,通過url鏈結得到...

Web網頁資料抓取(C S)

通過程式自動的讀取其它 網頁顯示的資訊,類似於爬蟲程式。比方說我們有乙個系統,要提取baidu 上歌曲搜尋排名。分析系統在根據得到的資料進行資料分析。為業務提供參考資料。為了完成以上的需求,我們就需要模擬瀏覽器瀏覽網頁,得到頁面的資料在進行分析,最後把分析的結構,即整理好的資料寫入資料庫。那麼我們的...