亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

小眾實(shí)用的Python 爬蟲(chóng)庫(kù)RoboBrowser

瀏覽:64日期:2022-06-25 10:18:32
1. 前言

大家好,我是安果!

今天推薦一款小眾輕量級(jí)的爬蟲(chóng)庫(kù):RoboBrowser

RoboBrowser,Your friendly neighborhood web scraper!由純 Python 編寫(xiě),運(yùn)行無(wú)需獨(dú)立的瀏覽器,它不僅可以做爬蟲(chóng),還可以實(shí)現(xiàn) Web 端的自動(dòng)化

項(xiàng)目地址:

​https://github.com/jmcarp/robobrowser

2. 安裝及用法

在實(shí)戰(zhàn)之前,我們先安裝依賴(lài)庫(kù)及解析器

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

# 安裝依賴(lài)pip3 install robobrowser# lxml解析器(官方推薦)pip3 install lxml

RoboBrowser 常見(jiàn)的 2 個(gè)功能為:

模擬表單 Form 提交 網(wǎng)頁(yè)數(shù)據(jù)爬取

使用 RoboBrowser 進(jìn)行網(wǎng)頁(yè)數(shù)據(jù)爬取,常見(jiàn)的 3 個(gè)方法如下:

find

查詢(xún)當(dāng)前頁(yè)面滿(mǎn)足條件的第一個(gè)元素

find_all

查詢(xún)當(dāng)前頁(yè)面擁有共同屬性的一個(gè)列表元素

select

通過(guò) CSS 選擇器,查詢(xún)頁(yè)面,返回一個(gè)元素列表

需要指出的是,RoboBrowser 依賴(lài)于 BS4,所以它的使用方法和 BS4 類(lèi)似

更多功能可以參考:

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

3. 實(shí)戰(zhàn)一下

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

3-1 打開(kāi)目標(biāo)網(wǎng)站

首先,我們實(shí)例化一個(gè) RoboBrowser 對(duì)象

from time import sleepfrom robobrowser import RoboBrowserhome_url = ’https://baidu.com’# parser: 解析器,HTML parser; used by BeautifulSoup# 官方推薦:lxmlrb = RoboBrowser(history=True, parser=’lxml’)# 打開(kāi)目標(biāo)網(wǎng)站rb.open(home_url)

然后,使用 RoboBrowser 實(shí)例對(duì)象中的 open() 方法打開(kāi)目標(biāo)網(wǎng)站

3-2 自動(dòng)化表單提交

首先,使用 RoboBrowser 實(shí)例對(duì)象獲取網(wǎng)頁(yè)中的表單 Form

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

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

# 獲取表單對(duì)象bd_form = rb.get_form()print(bd_form)bd_form[’wd’].value = 'AirPython'# 提交表單,模擬一次搜索rb.submit_form(bd_form)3-3 數(shù)據(jù)爬取

分析搜索頁(yè)面的網(wǎng)頁(yè)結(jié)構(gòu),利用 RoboBrowser 中的 select() 方法匹配出所有的搜索列表元素

遍歷搜索列表元素,使用 find() 方法查詢(xún)出每一項(xiàng)的標(biāo)題及 href 鏈接地址

# 查看結(jié)果result_elements = rb.select('.result')# 搜索結(jié)果search_result = []# 第一項(xiàng)的鏈接地址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(’第一項(xiàng)地址為:’, href)print(search_result)

最后,使用 RoboBrowser 中的 follow_link() 方法模擬一下「點(diǎn)擊鏈接,查看網(wǎng)頁(yè)詳情」的操作

# 跳轉(zhuǎn)到第一個(gè)鏈接rb.follow_link(first_href)# 獲取歷史print(rb.url)

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

4. 最后

文中結(jié)合百度搜索實(shí)例,使用 RoboBrowser 完成了一次自動(dòng)化及爬蟲(chóng)操作

相比 Selenium、Helium 等,RoboBrowser 更輕量級(jí),不依賴(lài)獨(dú)立的瀏覽器及驅(qū)動(dòng)

如果想處理一些簡(jiǎn)單的爬蟲(chóng)或 Web 自動(dòng)化,RoboBrowser 完全夠用;但是面對(duì)一些復(fù)雜的自動(dòng)化場(chǎng)景,更建議使用 Selenium、Pyppeteer、Helium 等

以上就是Python 爬蟲(chóng)庫(kù)RoboBrowser的使用簡(jiǎn)介的詳細(xì)內(nèi)容,更多關(guān)于Python 爬蟲(chóng)庫(kù)RoboBrowser的資料請(qǐng)關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 99久久精品国产自免费 | 日本a级特黄特黄刺激大片 日本a黄 | 中文字幕 视频一区 | 中文在线第一页 | 国产精品亚洲片在线花蝴蝶 | 国产片91人成在线观看 | 国产精品成人扳一级aa毛片 | 成人免费视频在线观看 | 国产成人无精品久久久 | www在线观看视频 | 2020年国产精品午夜福利在线观看 | 日本一本色道免费视频 | 伊人9999| 伊人99在线观看 | 欧美日韩在线精品一区二区三区 | 黄色录像毛片 | 日韩在线 在线播放 | 久久久久久久久久久9精品视频 | 日本高清二区 | 夜鲁鲁鲁夜夜综合视频欧美 | 国产欧美日韩一区二区三区 | 欧美va视频| 久久精品网站免费观看 | 国产高清视频网站 | 黄黄网站| 亚色综合 | 午夜在线免费视频 | 一区二区亚洲视频 | 成人在线免费小视频 | 一级看片男女性高爱潮 | 搞黄视频免费 | 成人精品第一区二区三区 | 在线看黄色网址 | 久久91精品国产91久 | 伊人久久综合网站 | 欧美亚洲另类久久综合 | 精品午夜视频 | 伊人精品国产 | 国偷盗摄自产福利一区在线 | 做久爱视频在线观看 | 自拍视频网站 |