当前位置:首页 > 知识 >

Python爬虫RoboBrowser登录及数据抓取

RoboBrowser是一个简洁的Python库,提供在没有web浏览器的情况下访问web的功能。RoboBrowser可用于获取网页、单击链接、按键以及填写表单并提交表单。如果需要与没有API的web服务交互,RoboBrowser可以很好地协助完成任务。

```python 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)

# 配对开始与结束的部位 htmlstart = "Earned:" end = ""

# 应用正则表达式开展配对回到结论 result = re.search("%s(.*)%s"%(start,end),src).group(1)

# 输出结果 print(result) ```

下面展示另一个例子,模拟浏览音乐平台以查看歌曲信息。

```python from robobrowser import RoboBrowser

# 访问RapGenius网址 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 = browser.select(".lyrics") print(lyrics[0].text)

# 回到查询记录页面 browser.back()

# 查看我最喜欢的歌曲 browser.follow_link("deathontwolegs")

# 应用正则表达式搜索lyrics的文字信息 lyrics = browser.find(class_=re.compile(r"\blyrics\b")) print(lyrics.text) ```

以上是RoboBrowser学习教程的一部分,更多内容请关注我的公众号二维码。

猜你喜欢

微信二维码

微信