使用BeautifulSoup爬虫程序获取百度搜索结果的标题和url示例


Posted in Python onJanuary 19, 2014

熟悉Java的jsoup包的话,对于Python的BeautifulSoup库应该很容易上手。

#coding: utf-8
import sys
import urllib
import urllib2
from BeautifulSoup import BeautifulSoup
question_word = "吃货 程序员"
url = "http://www.baidu.com/s?wd=" + urllib.quote(question_word.decode(sys.stdin.encoding).encode('gbk'))
htmlpage = urllib2.urlopen(url).read()
soup = BeautifulSoup(htmlpage)
print len(soup.findAll("table", {"class": "result"}))
for result_table in soup.findAll("table", {"class": "result"}):
    a_click = result_table.find("a")
    print "-----标题----\n" + a_click.renderContents()#标题
    print "----链接----\n" + str(a_click.get("href"))#链接
    print "----描述----\n" + result_table.find("div", {"class": "c-abstract"}).renderContents()#描述
    print
Python 相关文章推荐
浅谈MySQL中的触发器
May 05 Python
在Python程序中操作MySQL的基本方法
Jul 29 Python
基于python yield机制的异步操作同步化编程模型
Mar 18 Python
使用 Python 实现文件递归遍历的三种方式
Jul 18 Python
对Pytorch中nn.ModuleList 和 nn.Sequential详解
Aug 18 Python
python如何解析复杂sql,实现数据库和表的提取的实例剖析
May 15 Python
Python 如何调试程序崩溃错误
Aug 03 Python
Python+Opencv身份证号码区域提取及识别实现
Aug 25 Python
通过代码实例了解Python异常本质
Sep 16 Python
彻底解决Python包下载慢问题
Nov 15 Python
jupyter使用自动补全和切换默认浏览器的方法
Nov 18 Python
python批量合成bilibili的m4s缓存文件为MP4格式 ver2.5
Dec 01 Python
压缩包密码破解示例分享(类似典破解)
Jan 17 #Python
vc6编写python扩展的方法分享
Jan 17 #Python
python的urllib模块显示下载进度示例
Jan 17 #Python
Python中for循环详解
Jan 17 #Python
python在命令行下使用google翻译(带语音)
Jan 16 #Python
python支持断点续传的多线程下载示例
Jan 16 #Python
python获得图片base64编码示例
Jan 16 #Python
You might like
PHP利用APC模块实现文件上传进度条的方法
2015/01/26 PHP
php实现修改新闻时删除图片的方法
2015/05/12 PHP
Laravel使用scout集成elasticsearch做全文搜索的实现方法
2018/11/30 PHP
静态的动态续篇之来点XML
2006/12/23 Javascript
javascript调试说明
2010/06/07 Javascript
javascript全局变量封装模块实现代码
2012/11/28 Javascript
jquery实现带复选框的表格行选中删除时高亮显示
2013/08/01 Javascript
form表单只提交数据而不进行页面跳转的解决方案
2013/09/18 Javascript
用js控制组织结构图可以任意拖拽到指定位置
2014/01/17 Javascript
ie 7/8不支持trim的属性的解决方案
2014/05/23 Javascript
JavaScript引用类型和基本类型详解
2016/01/06 Javascript
jQuery使用Selectator插件实现多选下拉列表过滤框(附源码下载)
2016/04/08 Javascript
jQuery validate+artdialog+jquery form实现弹出表单思路详解
2016/04/18 Javascript
BootStrap的JS插件之轮播效果案例详解
2016/05/16 Javascript
JavaScript函数节流概念与用法实例详解
2016/06/20 Javascript
Bootstrap插件全集
2016/07/18 Javascript
Angular Module声明和获取重载实例代码
2016/09/14 Javascript
Vue.js手风琴菜单组件开发实例
2017/05/16 Javascript
JavaScript使用小插件实现倒计时的方法讲解
2019/03/11 Javascript
Node.js中package.json中库的版本号(~和^)
2019/04/02 Javascript
nodejs提示:cross-device link not permitted, rename错误的解决方法
2019/06/10 NodeJs
js实现简单的点名器随机色实例代码
2020/09/20 Javascript
[01:07:13]TNC vs Pain 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/20 DOTA
numpy.std() 计算矩阵标准差的方法
2018/07/11 Python
python后端接收前端回传的文件方法
2019/01/02 Python
用Python中的turtle模块画图两只小羊方法
2019/04/09 Python
python实现beta分布概率密度函数的方法
2019/07/08 Python
Pycharm中出现ImportError:DLL load failed:找不到指定模块的解决方法
2019/09/17 Python
详解python实现可视化的MD5、sha256哈希加密小工具
2020/09/14 Python
英国在线潜水商店:Simply Scuba
2019/03/25 全球购物
PatPat阿根廷:妈妈们的购物平台
2019/05/30 全球购物
Burt’s Bees英国官网:世界领先的天然个人护理品牌
2020/08/17 全球购物
财务会计毕业生个人求职信
2014/02/03 职场文书
学习型班组申报材料
2014/05/31 职场文书
给医院的感谢信
2015/01/21 职场文书
JS函数式编程实现XDM一
2022/06/16 Javascript