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

Python开发简单爬虫

蚂蚁帅帅 全栈工程师
难度初级
时长 1小时14分
学习人数
综合评分9.67
646人评价 查看评价
9.9 内容实用
9.6 简洁易懂
9.5 逻辑清晰
可以把table,td改成a,p,输出的html会整齐些
for data in self.datas:
fout.write('<a href="%s">%s</a>' % (data['url'],data['title']))
fout.write('<p>%s</p>' % data['summary'])
这个老师python代码的风格都像在写JAVA 听着听着还以为是java教学
老师写的后可能为了代码清晰没有加注释,后面你可能看不懂了,自己跟着敲的时候,最好把注释写上去.而且写注释是一个良好的编程习惯
如果先写方法再写调用,那么你可能不知道这个类要写一些什么功能函数,但是把主函数所需要的功能列出来,那么这些被调用的类所需要的功能不就很清晰了
import urllib.request,http.cookiejar

cj = http.cookiejar.CookieJar()
opener = urllib.request.build_opener(urllib.request.HTTPCookieProcessor(cj))
urllib.request.install_opener(opener)
response3 = urllib.request.urlopen(url)
print (response3.getcode())
print (len(response2.read()))
print (cj)
真难受,我学的是3.x版本的
声明download的时候不要用response = urllib.request.urlopen(url);因为response已经被python占用,可以改为resp = urllib.request.urlopen(url);这样就不会出现response没有getcode用法的问题了

最新回答 / 爱上你没道理
额,说错了,是python 3中取消了urllib2,在3中需要导入urllib.request
本萌新彻底被老师的声音懵了

最新回答 / 白兰地加冰苏打水
因为你用的是urlopen去下载网页,网页本身就是存在一定的保护性,你一直下载,网页就会自动的拒绝你,不让你下载,所以你就无法读取到得到html从而无法解析,就一直卡卡卡,然后就崩啦,啦啦啦啦啦

最新回答 / 勤梦幻岛首饰
python3没有urllib2;并且使用urlopen 需要先导入 from urllib import requestrequest.urlopen()
import beautifulsoup4 会报错;
import bs4 就可以了
哈哈,还长着哪!
我觉得应该在add_new_urls方法下for循环中添加一个if判断,判断下获取的url是否在old_urls中。

for url in urls:

if url not in self.old_urls:

self.new_urls.add(url);
——————————————————————————————
根本不需要啊,老师的add_new_urls()这个函数是调用add_new_url()来加入,add_new_url()里面已经有判断了,你这样不是多此一举?
课程须知
本课程是Python语言开发的高级课程 1、Python编程语法; 2、HTML语言基础知识; 3、正则表达式基础知识;
老师告诉你能学到什么?
1、爬虫技术的含义和存在价值 2、爬虫技术架构 3、组成爬虫的关键模块:URL管理器、HTML下载器和HTML解析器 4、实战抓取百度百科1000个词条页面数据的抓取策略设定、实战代码编写、爬虫实例运行 5、一套极简的可扩展爬虫代码,修改本代码,你就能抓取任何互联网网页!

微信扫码,参与3人拼团

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

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消