还没被玩坏的robobrowser(6)——follow_link
2024-10-15 01:49:01
背景
在做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)
的方式去点击该链接。
文本版权归乙醇所有,欢迎转载,但请标明出处。
下一节: 提交表单
最新文章
- 网络第二节——AFNworking
- leetcode 315. Count of Smaller Numbers After Self 两种思路(欢迎探讨更优解法)
- atitit.提升备份文件复制速度(1) -----分析统计问题and解决方案
- 按后退键退出Android程序
- Html 修改placeholder的颜色属性css样式
- JVM——类的加载过程
- Matlab 图像画在坐标轴下
- Android studio中Rendering Problems不能可视化操作的解决办法
- P2184 贪婪大陆
- Javascript原型钩沉
- moodle其他代码
- Linux IPC实践(1) -- 概述
- MinGW 编译 libaom 1.0.0 注意事项
- I/O多路复用、协程、线程、进程
- vscode git設置
- python 中: lambda
- 空间分析工具:GIS
- react-router 父子路由同时要接收 params 的写法
- DataTable.Select 处理关联表数据
- [算法进阶0x10]基本数据结构A作业总结