这期内容当中小编将会给大家带来有关如何用RoboBrowser登录和抓取数据,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。
RoboBrowser是一个简单的Python库,用于在没有独立Web浏览器的情况下浏览Web。RoboBrowser可以获取页面,单击链接和按钮,然后填写并提交表单。如果您需要与没有API的Web服务进行交互,RoboBrowser可以提供很好的帮助。接下来看一个例子,使用前需要pip install robobrowser安装这个库:
import re
from robobrowser import RoboBrowser
#创建RoboBrowser
br = 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())
#匹配开始和结束的位置html
start = '<li class="header-bal">Earned: '
end = '</li>'
#使用正则进行匹配 返回结果
result = re.search('%s(.*)%s' % (start, end), src).group(1)
print(result)
第二个例子,访问一个音乐网站,模拟查询歌曲信息:
import re
from 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进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。