用 RPA 做一個簡單的爬蟲

之前寫爬蟲一直都是用的 Scrapy,強大而高效,直到後來接觸了 RPA,呃,還是蠻適合新手的。

1、獲取文章標題和鏈接
獲取文章標題直接用“獲取文本”就可以了。
但獲取鏈接,就需要使用“獲取控件 html”這個組件,然後使用正則表達式了。

import re

message = '<a class="ft-a-title" href="https://support.i-search.com.cn/article/1587024373494" rel="bookmark" data-type="0" data-id="1587024373494">藝賽旗RPA控制檯與機器人的建議
        </a>'

res_url = r"(?<=href=\").+?(?=\")|(?<=href=\').+?(?=\')"
url = re.search(res_url ,message).group()

當然,文章的標題也可以這樣獲取到,但是可以少些代碼,幹嘛去多寫行代碼呢。

獲取標題 title 和鏈接 url 就這樣了,最後添加到一個空列表內進行保存:
在這裏插入圖片描述

2、獲取當前頁面所有文章的標題和鏈接
不同文章在頁面中的位置不一樣,看似很難,但其實簡單得很,只要修改下“查找路徑”這個參數就好了。
第一篇文章到最後一篇文章的 selector:
在這裏插入圖片描述
因此可以設置查找路徑爲:
‘body > DIV:nth-of-type(2) > DIV:nth-of-type(1) > DIV:nth-of-type(1) > DIV:nth-of-type(1) > DIV:nth-of-type(2) > UL:nth-of-type(1) > LI:nth-of-type(%d) > H2:nth-of-type(1) > A:nth-of-type(1)’%n

n便是每次循環自增的變量啦。

不過若是當前頁面沒有 30 篇文章,那就會讓“獲取文本”返回的 title 爲空,這個時候就沒有再執行下去的必要了。
所以添加個“if 分支”作判斷:
在這裏插入圖片描述

3、獲取下一個頁面的的所有文章的標題和鏈接
循環結束的時候,“鼠標點擊”下一個頁碼進入下一個頁面就是了。
另外,獲取文章爲空了,肯定是最後一頁,這種情況下就不需要進行點擊下一頁了,退出循環即可。
用 RPA 做一個簡單的爬蟲

同樣通過修改“查找路徑”參數設置循環,其中流程變量 m 默認初始值爲 2:
‘A[textNode=%d]’%m
用 RPA 做一個簡單的爬蟲

不過這裏有一點很重要,點擊下一頁後,頁面的網址是會變化的!
所以“鼠標點擊”裏的那個“網址”參數需要修改,否則就會找不到網頁元素而拋出異常。
不過這也容易解決,只要將變化的部分用*代替就可以。
用 RPA 做一個簡單的爬蟲

所以上個步驟中有關拾取組件的“網址”參數也需要修改的。

END
完結。
用 RPA 做一個簡單的爬蟲更多RPA知識,歡迎訪問藝賽旗社區:https://support.i-search.com.cn/

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章