前端测试 还没被玩坏的 robobrowser (6)——follow_link

乙醇 · 2015年01月10日 · 1582 次阅读

背景

在做 spider 的时候,我们经常会有点击链接的需求。

考虑这样的一个简单 spider:获取 qq.com 主页上的今日话题中的内容。

一般思路是先去 qq.com 首页上找到今日话题的链接,然后点击这个链接到内容页面,最后抓取里面的内容就好了。

这一节里我们就要实现这个功能。

预备知识

robobrowser 的follow_link方法可以点击链接并自动完成跳转。

代码


#coding: utf-8
import re
from robobrowser import RoboBrowser

url = 'http://www.qq.com/'
b = RoboBrowser(history=True)
  b.open(url)

# 获取今日话题这个link
  today_top = b.find(id='todaytop').a  
  print today_top['href']

  b.follow_link(today_top)

# 这个时候已经跳转到了今日话题的具体页面了

# 打印标题
  title = b.select('.hd h1')[0]
  print '*************************************'
  print title.text
  print '*************************************'

# 打印正文内容
  print b.find(id='articleContent').text

讨论

注意一下follow_link的用法。一般来说都是用find/select/find_all方法过滤出相应的链接,然后调用b.follow_link(link)的方式去点击该链接。

文本版权归乙醇所有,欢迎转载,但请标明出处。

下一节: 提交表单

暂无回复。
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册