亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python 爬蟲庫RoboBrowser怎么用

發布時間:2021-03-12 17:05:49 來源:億速云 閱讀:497 作者:TREX 欄目:開發技術

這篇文章主要介紹“Python 爬蟲庫RoboBrowser怎么用”,在日常操作中,相信很多人在Python 爬蟲庫RoboBrowser怎么用問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Python 爬蟲庫RoboBrowser怎么用”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

1. 前言

今天推薦一款小眾輕量級的爬蟲庫:RoboBrowser

RoboBrowser,Your friendly neighborhood web scraper!由純 Python 編寫,運行無需獨立的瀏覽器,它不僅可以做爬蟲,還可以實現 Web 端的自動化

2. 安裝及用法

在實戰之前,我們先安裝依賴庫及解析器

PS:官方推薦的解析器是 「lxml」

# 安裝依賴
pip3 install robobrowser

# lxml解析器(官方推薦)
pip3 install lxml

RoboBrowser 常見的 2 個功能為:

  • 模擬表單 Form 提交

  • 網頁數據爬取

使用 RoboBrowser 進行網頁數據爬取,常見的 3 個方法如下:

  • find

查詢當前頁面滿足條件的第一個元素

  • find_all

查詢當前頁面擁有共同屬性的一個列表元素

  • select

通過 CSS 選擇器,查詢頁面,返回一個元素列表

需要指出的是,RoboBrowser 依賴于 BS4,所以它的使用方法和 BS4 類似

更多功能可以參考:

https://www.crummy.com/software/BeautifulSoup/bs4/doc.zh/

3. 實戰一下

我們以「 百度搜索及爬取搜索結果列表 」為例

3-1  打開目標網站

首先,我們實例化一個 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')

# 打開目標網站
rb.open(home_url)

然后,使用 RoboBrowser 實例對象中的 open() 方法打開目標網站

3-2  自動化表單提交

首先,使用 RoboBrowser 實例對象獲取網頁中的表單 Form

然后,通過為表單中的輸入框賦值模擬輸入操作

最后,使用 submit_form() 方法進行表單提交,模擬一次搜索操作

# 獲取表單對象
bd_form = rb.get_form()

print(bd_form)

bd_form['wd'].value = "AirPython"

# 提交表單,模擬一次搜索
rb.submit_form(bd_form)

3-3  數據爬取

分析搜索頁面的網頁結構,利用 RoboBrowser 中的 select() 方法匹配出所有的搜索列表元素

遍歷搜索列表元素,使用 find() 方法查詢出每一項的標題及 href 鏈接地址

# 查看結果
result_elements = rb.select(".result")

# 搜索結果
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() 方法模擬一下「點擊鏈接,查看網頁詳情」的操作

# 跳轉到第一個鏈接
rb.follow_link(first_href)

# 獲取歷史
print(rb.url)

需要注意的是,follow_link() 方法的參數為帶有 href 值的 a 標簽

4. 最后

文中結合百度搜索實例,使用 RoboBrowser 完成了一次自動化及爬蟲操作

相比 Selenium、Helium 等,RoboBrowser 更輕量級,不依賴獨立的瀏覽器及驅動

如果想處理一些簡單的爬蟲或 Web 自動化,RoboBrowser 完全夠用;但是面對一些復雜的自動化場景,更建議使用 Selenium、Pyppeteer、Helium 等

到此,關于“Python 爬蟲庫RoboBrowser怎么用”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

申扎县| 无极县| 辽源市| 盐源县| 娄烦县| 绵阳市| 仙游县| 延安市| 大庆市| 青川县| 鄂托克旗| 炎陵县| 沙河市| 名山县| 长治市| 桓台县| 五华县| 兴义市| 汉源县| 黔西县| 共和县| 康乐县| 乐都县| 大新县| 沾化县| 绥宁县| 桐城市| 南京市| 中宁县| 普安县| 嵩明县| 大田县| 横山县| 莱芜市| 布尔津县| 乐都县| 邵武市| 白城市| 阿城市| 阳东县| 深水埗区|