为了账号安全,请及时绑定邮箱和手机立即绑定

Python开发简单爬虫

蚂蚁帅帅 全栈工程师
难度初级
时长 1小时14分
学习人数
综合评分9.67
646人评价 查看评价
9.9 内容实用
9.6 简洁易懂
9.5 逻辑清晰
爬取页面:http://huanyouchen.github.io/demo/imooc/python-baidubaike-spider/baike_spider_output.html
代码:https://github.com/guihailiuli/imooc-practice/tree/master/python-baidubaike-spider
报错的同学看这里,如果是html_outputer.py的20行附近报错
在html_outputer.py的20行附近,data['summary']也要加.encode('utf-8')
原理是:百度百科实际的编码是GB2312,但是呢,直接用GB2312也会报错。。。。不用UTF-8也会报错。。。
所以全部统一用UTF-8,最终打开结果的时候,用IE打开,编码手动选一下,就全部正常了。
话说我也才学了一星期。。。有地方说错见谅
代码还没敲完,发现python的百科地址为:http://baike.baidu.com/link?url=H5d4MyRe5Dpj53NL3k3fsQ-Nyl0upKyf_WZcCzpRZD3Q_jMneBLfamOxQaKIU8UeNsIj7Z9NMHDFOD3MAX4Kjq
不知道能不能成功呢
纠结了老半天 _name_ 报错Undefined variable: _name_
我一直以为是环境问题,结果问度娘,答:是2个下划线
正确的是:if __name__ == "_main_":
我能输出内容了,但是还是乱码,求安慰啊求安慰!!!

最赞回答 / 迷茫的小点点
这样生成地htm网页是utf-8编码的,但浏览器显示时不是按utf-8读取的,所以乱码。例:我用360的默认GBK,右键编码选utf-8显示就好。或者在输出网页加上以下:        fout.write('<head><meta charset="utf-8"></head>')这样浏览器会识别出是utf-8编码。

已采纳回答 / 洛央下
UrlManager是类名不是方法,你要调用的应该是类里面的方法才对吧
希望之后继续学习Python爬虫,好有意思的感觉

已采纳回答 / 启动运行中
有可能是因为你的class之后的括号里的逗号之后没有打上空格,例如这样:<...code...>

已采纳回答 / Jaising
语法错误啊,python版本不同语法略有区别,容易犯的错误如python3.x print()需要加括号~
老师,你这么抑扬顿挫,让学生好紧张

已采纳回答 / 慕仙4923546
set数据结构是没有append()方法的,你的收集的数据放到dict结构中更好
课程须知
本课程是Python语言开发的高级课程 1、Python编程语法; 2、HTML语言基础知识; 3、正则表达式基础知识;
老师告诉你能学到什么?
1、爬虫技术的含义和存在价值 2、爬虫技术架构 3、组成爬虫的关键模块:URL管理器、HTML下载器和HTML解析器 4、实战抓取百度百科1000个词条页面数据的抓取策略设定、实战代码编写、爬虫实例运行 5、一套极简的可扩展爬虫代码,修改本代码,你就能抓取任何互联网网页!

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消