前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python爬虫学习-抓取百度百科python词条页面的所有词条及其连接

Python爬虫学习-抓取百度百科python词条页面的所有词条及其连接

作者头像
爱吃西瓜的番茄酱
发布2018-04-03 17:00:34
1.7K0
发布2018-04-03 17:00:34
举报

这几天我学习爬虫有点过于激进,妄想一鼓作气地学会爬虫,结果随便踩进一个坑就跳不出来了。郁闷了一天,最终发现还是自己的基础太差,比如基础的函数、文件输出等都没有掌握好。这样的水平是没法写出复杂的爬虫的。深思再三,决定买本python基础书籍好好补补,同时写写简单的爬虫练练手。

下面这个就是我买的python基础书籍,听说这本书是python最好的入门书↓↓↓


今天来写个简单的爬虫,目标就是百度百科Python词条页面上的所有词条及其链接。

◆ 分析目标:

① 目标URL:https://baike.baidu.com/item/Python

② 页面编码:utf-8 (在页面空白处按右键点击检查即可查看)

③ 目标标签样式:多检查几个词条就会发现它们位于标签名为<a>,属性为target=“_blank”,href=/item/ + 一堆字符 的标签之中

接下来就开始写代码了:

先导入必要的库,再指定目标url:

用urlopen下载页面,用Beautiful Soup 解析页面(指定“html.parser”为解析器,不然会报错)

由于我用的是Python的IDE:pycharm来敲代码,它自动指定了"UTF-8”格式(在右下角),所以我不在需要指定解析格式:

然后将.findAll()方法和正则表达式结合起来过滤掉不相干的内容:

最后输出结果:

主体代码就是这些,整理一下,完整代码如下:

打印结果部分截图如下:(内容很多,先贴两页)

眼尖的朋友可能会发现第一个截图的第一个词条是不该出现的词条,还有第二张截图的倒数第四个词条竟然是一个大括号{}。。额。我想应该是我的正则表达式不够完善。我暂时也不知道该怎么改进。我还得好好学习学习才行。。

每天学习一点点,每天进步一点点

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-10-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 小白客 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档