這期內容當中小編將會給大家帶來有關如何用RoboBrowser登錄和抓取數據,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
RoboBrowser是一個簡單的Python庫,用于在沒有獨立Web瀏覽器的情況下瀏覽Web。RoboBrowser可以獲取頁面,單擊鏈接和按鈕,然后填寫并提交表單。如果您需要與沒有API的Web服務進行交互,RoboBrowser可以提供很好的幫助。接下來看一個例子,使用前需要pip install robobrowser安裝這個庫:
import refrom robobrowser import RoboBrowser#創建RoboBrowserbr = RoboBrowser()#打開datacoup登錄地址br.open("https://datacoup.com/signin")#獲取登錄的表單form = br.get_form()#填寫表單中的郵箱和密碼form['email'] = "FILL_USERNAME_IN"form['password'] = "FILL_PASSWORD_IN"#提交表單br.submit_form(form)#獲取登錄后的頁面結果返回信息src = str(br.parsed())#匹配開始和結束的位置htmlstart = '<li class="header-bal">Earned: 'end = '</li>'#使用正則進行匹配 返回結果result = re.search('%s(.*)%s' % (start, end), src).group(1)print(result)
第二個例子,訪問一個音樂網站,模擬查詢歌曲信息:
import refrom robobrowser import RoboBrowser#瀏覽Rap Genius網站browser = RoboBrowser(history=True)browser.open('http://rapgenius.com/')#獲取表單form = browser.get_form(action='/search')print(form) # <RoboForm q=>#輸入查詢關鍵詞queen 提交表單form['q'].value = 'queen'browser.submit_form(form)#查詢第一首歌曲songs = browser.select('.song_name')#訪問歌曲連接地址browser.follow_link(songs[0])#查找樣式lyrics的文本信息lyrics = browser.select('.lyrics')print(lyrics[0].text) # \n[Intro]\nIs this the real life...#返回查詢結果頁面browser.back()# 查詢我最喜歡的歌曲browser.follow_link('death on two legs')# 也可以使用正則進行查找lyrics = browser.find(class_=re.compile(r'\blyrics\b'))lyrics.text
上述就是小編為大家分享的如何用RoboBrowser登錄和抓取數據了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。