您好,登錄后才能下訂單哦!
這篇文章主要介紹“Python 爬蟲庫RoboBrowser怎么用”,在日常操作中,相信很多人在Python 爬蟲庫RoboBrowser怎么用問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Python 爬蟲庫RoboBrowser怎么用”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!
今天推薦一款小眾輕量級的爬蟲庫:RoboBrowser
RoboBrowser,Your friendly neighborhood web scraper!由純 Python 編寫,運(yùn)行無需獨(dú)立的瀏覽器,它不僅可以做爬蟲,還可以實現(xiàn) Web 端的自動化
在實戰(zhàn)之前,我們先安裝依賴庫及解析器
PS:官方推薦的解析器是 「lxml」
# 安裝依賴 pip3 install robobrowser # lxml解析器(官方推薦) pip3 install lxml
RoboBrowser 常見的 2 個功能為:
模擬表單 Form 提交
網(wǎng)頁數(shù)據(jù)爬取
使用 RoboBrowser 進(jìn)行網(wǎng)頁數(shù)據(jù)爬取,常見的 3 個方法如下:
find
查詢當(dāng)前頁面滿足條件的第一個元素
find_all
查詢當(dāng)前頁面擁有共同屬性的一個列表元素
select
通過 CSS 選擇器,查詢頁面,返回一個元素列表
需要指出的是,RoboBrowser 依賴于 BS4,所以它的使用方法和 BS4 類似
更多功能可以參考:
https://www.crummy.com/software/BeautifulSoup/bs4/doc.zh/
我們以「 百度搜索及爬取搜索結(jié)果列表 」為例
首先,我們實例化一個 RoboBrowser 對象
from time import sleep from robobrowser import RoboBrowser home_url = 'https://baidu.com' # parser: 解析器,HTML parser; used by BeautifulSoup # 官方推薦:lxml rb = RoboBrowser(history=True, parser='lxml') # 打開目標(biāo)網(wǎng)站 rb.open(home_url)
然后,使用 RoboBrowser 實例對象中的 open() 方法打開目標(biāo)網(wǎng)站
首先,使用 RoboBrowser 實例對象獲取網(wǎng)頁中的表單 Form
然后,通過為表單中的輸入框賦值模擬輸入操作
最后,使用 submit_form() 方法進(jìn)行表單提交,模擬一次搜索操作
# 獲取表單對象 bd_form = rb.get_form() print(bd_form) bd_form['wd'].value = "AirPython" # 提交表單,模擬一次搜索 rb.submit_form(bd_form)
分析搜索頁面的網(wǎng)頁結(jié)構(gòu),利用 RoboBrowser 中的 select() 方法匹配出所有的搜索列表元素
遍歷搜索列表元素,使用 find() 方法查詢出每一項的標(biāo)題及 href 鏈接地址
# 查看結(jié)果 result_elements = rb.select(".result") # 搜索結(jié)果 search_result = [] # 第一項的鏈接地址 first_href = '' for index, element in enumerate(result_elements): title = element.find("a").text href = element.find("a")['href'] search_result.append(title) if index == 0: first_href = element.find("a") print('第一項地址為:', href) print(search_result)
最后,使用 RoboBrowser 中的 follow_link() 方法模擬一下「點(diǎn)擊鏈接,查看網(wǎng)頁詳情」的操作
# 跳轉(zhuǎn)到第一個鏈接 rb.follow_link(first_href) # 獲取歷史 print(rb.url)
需要注意的是,follow_link() 方法的參數(shù)為帶有 href 值的 a 標(biāo)簽
文中結(jié)合百度搜索實例,使用 RoboBrowser 完成了一次自動化及爬蟲操作
相比 Selenium、Helium 等,RoboBrowser 更輕量級,不依賴獨(dú)立的瀏覽器及驅(qū)動
如果想處理一些簡單的爬蟲或 Web 自動化,RoboBrowser 完全夠用;但是面對一些復(fù)雜的自動化場景,更建議使用 Selenium、Pyppeteer、Helium 等
到此,關(guān)于“Python 爬蟲庫RoboBrowser怎么用”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注億速云網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。