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

Python开发简单爬虫

蚂蚁帅帅 全栈工程师
难度初级
时长 1小时14分
学习人数
综合评分9.67
646人评价 查看评价
9.9 内容实用
9.6 简洁易懂
9.5 逻辑清晰
https://github.com/Hiccup1/baike_spider 这是我的代码,可以成功爬取的,我也遇到第二条就failed,还有其他乱七八糟的错误,找了半天其实都是不细心写错了,写错字母什么的,少下划线,这代码是可以的,如果能点个star,点个星就更好了
我觉得应该在add_new_urls方法下for循环中添加一个if判断,判断下获取的url是否在old_urls中。
for url in urls:
if url not in self.old_urls:
self.new_urls.add(url);
使用py3.x的朋友注意, 要把urllib2改为 urllib.request 就可以使用了
https://github.com/ray-zhong/baike_spider 课程源码,用python3写的
多听几遍。。哈哈。。
爬虫用得着写这么复杂?我特么只要十几条代码就可以想爬多少条网页就爬多少条。。。。

最新回答 / 成蔚
我的问题与你一模一样 ,CSDN上一个博主写了解决方法解决方法:在python/lib/site.py中加入  import sysreload(sys)sys.setdefaultencoding('gbk')我试过了,成功!
为什么不是先写方法,再来写调用,,,这样搞得我很迷惘啊

最赞回答 / 孩子气丶
在HTML中需要告诉浏览器使用何种编码fout.write('<html><head><meta charset="UTF-8"></head>') data['title']是str类型,需要先将str转化为utf-8,再将utf-8转化为Unicodefout.write("<td>%s</td>" % data['title'].encode('utf-8').decode('utf-8'))  fout.write("<...

已采纳回答 / 辰望溪
'SpiderMain' object has no attribute 'urls'第16行出错,谁知道怎么解决

最新回答 / NJUPT野球王
http://blog.csdn.net/lanchunhui/article/details/50955238 是不是你23行add(url),传过来url的类型不对

最新回答 / 慕前端3516650
settings.py 文件中TEMPLATES中
'DIRS': [os.path.join(BASE_DIR, 'templates')],
是不是多了中括号?
课程须知
本课程是Python语言开发的高级课程 1、Python编程语法; 2、HTML语言基础知识; 3、正则表达式基础知识;
老师告诉你能学到什么?
1、爬虫技术的含义和存在价值 2、爬虫技术架构 3、组成爬虫的关键模块:URL管理器、HTML下载器和HTML解析器 4、实战抓取百度百科1000个词条页面数据的抓取策略设定、实战代码编写、爬虫实例运行 5、一套极简的可扩展爬虫代码,修改本代码,你就能抓取任何互联网网页!

微信扫码,参与3人拼团

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

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消