抓取網頁指定內容(資料),獲取網頁里的圖片

最近有遇到同學反饋,網頁里的那些沒有特徵值的文本元素不知道怎麼獲取。以及,不知道怎麼獲取保存網頁里出現的圖片。

工具/原料

按鍵精靈2014

方法/步驟

獲取網頁指定文字:

目前按鍵支持的元素特徵值有這些:   frame(框架) 、id(唯一標識) 、tag(標籤) 、type(類型)、txt(文本) 、value(特徵) 、index(索引) 、name(名字)   擁有這些特徵值的元素才能直接使用HtmlGet命令來獲取元素文本信息。

命令名稱:

HtmlGet 獲取網頁元素的信息

命令功能:

獲取網頁元素指定屬性的信息

命令參數:

參數1:字符串型,網頁元素屬性類型:text、html、 outerHtml、value、  src、  href、 offset

參數2:字符串型,網頁元素特徵字符串

例如下面的例子,按鍵精靈論壇搜尋框,它有type、name、id這三個特徵值

獲取網頁指定文字:

目前按鍵支持的元素特徵值有這些:   frame(框架) 、id(唯一標識) 、tag(標籤) 、type(類型)、txt(文本) 、value(特徵) 、index(索引) 、name(名字)   擁有這些特徵值的元素才能直接使用HtmlGet命令來獲取元素文本信息。

命令名稱:

HtmlGet 獲取網頁元素的信息

命令功能:

獲取網頁元素指定屬性的信息

命令參數:

參數1:字符串型,網頁元素屬性類型:text、html、 outerHtml、value、  src、  href、 offset

參數2:字符串型,網頁元素特徵字符串

例如下面的例子,按鍵精靈論壇搜尋框,它有type、name、id這三個特徵值

成功獲取到了搜尋框的value值。

我們現在想要取下面紅色區域塊的帖子標題,想要把一個頁面中的這些帖子名稱都取出來。該怎麼辦?

這些文字,都沒有特徵值的。我們不能使用特徵值的方式去找他們。

我們可以這樣——  獲取到整個網頁的文本之後,去找我們要取的標題,前後不變的字符。

大家會發現,這個頁面中,帖子標題前後不便的字符是:「]「 和 「果果。。「 那我們就將」]「字符前面的文本都過濾掉,「果果。。「後面的文本也過率掉,這樣就能得到我們所需要的文本。

首先,我們需要複習下幾個函數:

InStr函數

描述

start

可選的。規定每次搜尋的起始位置。默認是搜尋起始位置是第一個字符。如果已規定 compare 參數,則必須有此參數。

string1

必需的。需要被搜尋的字符串。

string2

必需的。需搜尋的字符串。

compare

必需的。規定要使用的字符串比較類型。默認是 0 。可採用下列值:          0= vbBinaryCompare - 執行二進位比較。 1 = vbTextCompare - 執行文本比較。

Mid函數

描述

string

必需的。從其中返回字符的字符串表達式。如果字符串包含 Null,則返回 Null。

start

必需的。規定起始位置。如果設置為大於字符串中的字符數目,則返回空字符串("")。

length

可選的。要返回的字符數目。如果省略或 length 超過文本的字符數,將返回字符串中從 start 到字符串結  束的所有字符。

Len函數

描述

string

任意有效的字符串表達式。如果 string 參數包含Null,則返回 Null。

varname

任意有效的變量名。如果 varname 參數包含 Null,則返回 Null。

腳本過程:

1.     先打開一個要提取信息的網站。

2.     用  HtmlGet 命令 獲取整個網頁的文本信息,存到Txt變量裡面

3.     過濾]符號前面的文本

4.     從文本里的"]"符號後面的位置開始取字符串,這裡取了一百個字符放到命名為cc的變量里。如下圖,也可以設置取80個字符,60個字符,但是長度一定要把「果果。。」 給截進來,因為後面我們要通過「果果。。」作為基準,去過濾掉不要的文字。

5.     在cc變量里,找果果。。出現的位置,找到之後,截取「果果。。」之前的文本,也就是我們需要接取的地方。

6.     最後,設置疊加的變量x,把每次找到的"]" 這個符號的位置放到變量x里進行累加,累加之後第二次循環,就會跳過之前找過的內容,進行新的內容的尋找。

源碼:

Call Plugin.Web.Bind("WQM.exe")

Call Plugin.Web.go("http://bbs.anjian.com/forum-250-1.html")  //要提取信息的網站

Delay 1000 // 如果網頁打開速度慢,可適當添加延遲

Txt =Plugin.Web.HtmlGet("text","")  //獲取網頁的文本

x=1

Do

aa = "]"  //過濾]符號前面的文本

bb = InStr(x, Txt, aa) // 返回aa變量里的"["這個字符 在整個網頁文本txt里的位置

cc = Mid(Txt, bb + Len(aa), 100)//從文本里的"]"符號後面的位置開始取字符串,這裡取了一百個字符

dd = InStr(1, cc, "果果。。")//找cc字符串里,果果。。出現的位置,果果。。的位置就是我們要接取的字符串的長度

ee = Mid(cc, 1, dd)//從文本里cc里第一個字符開始,取到果果。。文字出現的位置

If Len(ee) <> 0 Then   //判斷有沒有取到匹配的字符

pp = Left(ee, Len(ee)-1)  //如果有取到,我們還要做下處理,因為前面ee字符串是取到了果果。。出現的位置,所以果字也被取了,我們這裡長度-1,去掉果字

TracePrint pp

x = InStr(x, Txt, pp) //這裡做個記號,把每次找到的"]" 這個符號的位置進行累加,累加之後第二次循環,就會跳過之前找過的內容,進行新的內容的尋找。

Else

Exit Do   //如果沒有找到匹配的 就退出

End If

Loop

最終效果:

標題後面的?…234這樣的字符是帖子總回帖的頁數

獲取網頁圖片

我們截圖按鍵精靈官網的圖標:

我們可以查看圖片的具體地址

代碼如下:

Call Plugin.Web.Bind("WQM.exe")

Call Plugin.Web.Go("http://www.anjian.com") //打開按鍵官網地址

Call Plugin.Web.Save("http://www.anjian.com/images/logo.gif", "d:\123.gif")

Delay 3000

RunApp "mspaint.exe"&" d:\123.gif" //打開畫圖工具,看看保存的圖片的效果

命令名稱:

Save 保存網頁或圖片

命令功能:

保存指定URL的文件到本地磁碟

命令參數:

參數1:字符串型,需要保存的目標Url 參數2:字符串型,本地文件名

最終效果:

大家有沒有注意到,這裡的按鍵精靈官網圖標,是gif格式的,可以保存。如果是一個連結呢?

例如,騰訊QQ註冊頁面里的這種驗證圖片:

大家看,它的圖片是保存在一個連結里的,這樣就無法獲取。

地址是沒有變化的,但是點擊進去之後,生成的就是另一張驗證圖片了。

所以,遇到這種連結方式的圖片,大家還是使用查找圖片的區域坐標,然後用螢幕範圍截圖命令來截圖保存:

//下面這句在螢幕區域範圍內截圖保存到(內存)里,以備後面調用。

Call Plugin.ColorEx.PrintScreen(0, 0, 1024, 768)

//下面這句在螢幕區域範圍內按方式0,查找顏色,返回左上角第一點顏色位置坐標

XY = Plugin.ColorEx.FindColor(0, 0, 1024, 768, "0000FF", 1, 0)

//下面這句用於分割字符串

ZB = InStr(XY, "|")

//下面這句將字符串轉換成數值

X = Clng(Left(XY, ZB - 1)): Y = Clng(Right(XY, Len(XY) - ZB))

//釋放螢幕截圖信息時請使用以下命令

Call Plugin.ColorEx.Free()

相關文章

  1. 易語言取網頁指定內容(最簡單的辦法)

    在超文本瀏覽框裡瀏覽網頁,我們想取網頁中的一部分在易語言窗口裡顯示該怎麼操作呢,其實方法非常簡單,就是用外形框限制一下就OK了,下面我以百度新聞取圖片新聞為例. 工具/原料 易語言5.31 外形框和超 ...
  2. 通過360wifi快傳抓取電腦螢幕內容

    通過手機也可以直接抓取電腦上面的螢幕信息,很不錯的功能吧,想知道怎麼實現的麼,一起來看看下通過360wifi快傳抓取電腦螢幕內容. 工具/原料 螢幕 電腦 方法/步驟 首先在手機中打開360wifi快 ...
  3. 在Mac使用Burp Suite抓取Https 包內容

    為了分析包,我們經常需要Burp Suite 抓包,現在對於HTTPS 有個證書的問題.訪問時總是報錯誤,下面的方法教授你怎麼抓取火狐瀏覽器Https包 工具/原料 Burp Suite破解版,Fir ...
  4. ​ 怎麼快速讓百度蜘蛛抓取新網站內容

    許多新站面臨的問題是百-度蜘+蛛很少光臨,即便原創內容多,但是收錄也少的可憐.其實並非因為你的網-站質-量問題,是你缺少一些技巧.我以個人經驗介紹幾個小技巧吸引蜘-蛛,增加新站的收錄量. 方法/步驟 ...
  5. php抓取頁面部分內容

    使用php抓取指定頁面部分並顯示 工具/原料 php工作環境 方法/步驟 <?php echo "<meta http-equiv='Content-Type' content= ...
  6. 怎麼看網頁的原始碼_如何獲取網頁原始碼

    大家都知道我們每天上網瀏覽的網頁都是由代碼寫出來的,我們經常會疑惑什麼樣的代碼能寫出這樣好看的網頁來,所以我們也想看看這個網頁的原始碼,並且想把這個網頁原始碼保存下來?那麼我們該如何來做呢?看看下面的 ...
  7. 如何修改網頁列印內容怎麼對網頁排板後列印

    有時候我們看到一個喜歡的網頁,想把他列印下來,但是該頁面上還有一些其它的不需要的文字或是圖片也會一同列印,有沒有辦法先對網頁進行排版,然後再列印呢,下面我們就一起來看一下具體的實現方法吧. 工具/原料 ...
  8. 怎麼抓取固定尺寸的截圖/截取固定尺寸的圖片

    隨著經驗的改革,規則越來越清晰,要求也在提高,一篇優秀的經驗絕對離不開優秀的排版,除了操作性強的文字,統一尺寸的圖片可以使自己的經驗更加吸引人,令人看的舒服 小編一開始只是截圖再截圖,然後把圖片批量轉 ...
  9. word2016如何為指定內容插入批註隱藏批註前圖片

    我們在做文檔的時候,如何插入批註呢,另外就是插入批註後,批註前面就有一個圖片,如何做呢 工具/原料 WORD2016 方法/步驟 在桌面右鍵屬性,點擊新建工作表,而後打開,在word文檔裡面輸入一些文 ...
  10. 如何獲取PPT里的圖片

    現在網際網路上的PPT模板越來越多了,美工也越來越好看,在現在這個精細化的時代,我們都力求做好每一件小事,完善每一個細節.看著那麼多精美的PPT裡面的圖片肯定讓你愛不釋手吧,今天教大家一個方法可以將PP ...
  11. 如何通過Java代碼實現對網頁數據進行指定抓取

    如何通過Java代碼實現對網頁數據進行指定抓取   本次經驗中會使用到Jsoup.Jar包 工具/原料 Eclipse Jsoup.jar 方法/步驟 在工程中導入Jsoup.jar包 獲取網址url ...
  12. 如何抓取網頁小遊戲中swf內容。

    在我們的生活中,我們時常會玩一些小遊戲娛樂,但有時又斷網,這時就可以把遊戲抓取在本地中玩. 工具/原料 秋風網頁Flash抓取器 除4399外的遊戲網頁小遊戲 方法/步驟 本文以7K7K小遊戲中的一個 ...
  13. 如何用VBA抓取翻譯網頁的內容

    如何用VBA抓取翻譯網頁的內容 工具/原料 VBA 方法一:GET和POST抓取方式 1.使用GET方式抓取網頁數據方法代碼 2.對json數據的處理方法代碼 3.使用POST方式抓取網頁數據方法代碼 ...
  14. PHP抓取網頁failed to open stream解決方案

    本教程完美解決PHP抓取網頁failed to open stream: HTTP request failed!遇到的問題. 工具/原料 PHP一系列軟體 電腦一台 方法/步驟 如圖所示:抓取失敗了 ...
  15. 網頁直播源抓取並驗證

    網頁直播源抓取並驗證,是一個DIY 電視迷的必備技能啊 工具/原料 遨遊瀏覽器 VLC 播放器 方法/步驟 打開視頻網站 點紅色圓圈圖標 右擊視頻網址選擇複製連結 用VLC播放器試一下,CRTL+N ...
  16. 搜尋引擎抓取網頁原理學習筆記

    做正規seo技術必會的搜尋引擎抓取網頁原理應該是很複雜的.可以寫洋洋灑灑的長篇論文.這裡就將我自己學習到的網頁抓取原理記錄一下.筆記應該不夠完整隻將重要過程做個介紹 步驟/方法 做正規seo技術必會的 ...
  17. 怎麼對網頁進行蜘蛛模擬抓取

    做網站的都知道,SEO是一項很重要的工作,那麼快速模擬搜尋引擎蜘蛛訪問頁面所抓取到的內容信息呢,下面教大家如何操作. 工具/原料 電腦 網站 方法/步驟 百度搜尋"站長工具",點擊 ...
  18. 批量獲取網頁標題內容的方法

    該方法是通過Excel工具來實現批量獲取網頁標題:例如第一列有1000個URL,你想在第二列批量獲取他們的Title信息,用於統計.對比或者其他用途.如果一個一個查詢,會耗費一整天時間,而且還容易混亂 ...
  19. 怎麼用Java程序抓取網頁原始碼?

    怎麼用java程序抓取網頁原始碼?如果抓取代碼都用程序來做的話,相信要快很多.程序如下:       import java.io.BufferedReader;import java.io.IOEx ...
  20. 零基礎,教您網頁數據抓取

    大數據時代,您還在煩惱數據從何而來?面對大量的網頁數據,您不知道如何處理?或者是為編寫爬蟲代碼而發愁?不管您是屬於哪一類,不管您是有基礎或是零基礎,只要您看完這篇經驗,數據將唾手可得,一切將變得無比簡 ...