十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
这期内容当中小编将会给大家带来有关如何用RoboBrowser登录和抓取数据,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。
湄潭ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为创新互联建站的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:028-86922220(备注:SSL证书合作)期待与您的合作!
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 = '
Earned: ' end = ''
#使用正则进行匹配 返回结果
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) #
#输入查询关键词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登录和抓取数据了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注创新互联行业资讯频道。