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

Python开发简单爬虫

蚂蚁帅帅 全栈工程师
难度初级
时长 1小时14分
学习人数
综合评分9.67
646人评价 查看评价
9.9 内容实用
9.6 简洁易懂
9.5 逻辑清晰
好感动QAQ
soup = BeautifulSoup(
html_doc, #HTML文档字符串
'html.parser' #HTML解析器
from_encoding='utf8' #HTML文档的编码
)
这段代码会在from_encoding处报错invalid syntax

最新回答 / UFO2015
# 初始化 class```pyclass UrlManage(object):  def __init__(self):    self.new_urls = set();    self.old_urls = set();  def add_new_url(self, url):    # todo```

最新回答 / UFO2015
```pyexcept Exception as e:  logging.exception(e)  print 'error'```
too broad exception clauses

This inspection highlights too broad exception clauses such as no exception class specified, or specified as 'Exception'.
谢谢老师,条理清晰,很受用

最新回答 / 慕粉3182733
python3里面没有urllib2,只有urllib,跟2的用法不一样。我同时安装了python2和3,在解释2编写的代码的时候用2的解释器,解释3编写的代码的时候用3的解释器。开发环境是pycharm,可以更改settings里面的interpreter。如果是命令行的话可以用py -2或者py -3运行程序。如果环境变量2在前可以省略py -2,3同样。
我也是输出一条之后 就crawl失败了。
后来修改了spider._main下的craw函数的try...except。
修改如下:
except Exception as f:
print "crawl failed !", f
然后我出来的是
Do you need to install the parser library?
然后我去parser.py下找错误
soup = BeautifulSoup(html_cont , "html.parser", from_encoding='utf-8')
是html.parser 不是html_parser
#利用正则表达式
import re #引入正则表达式模块

link3 = soup.find_all('a',href=re.compile(r'ill'))
for v in link3:
print(v.string)
自顶向下,非常清晰啊,赞赞赞
哈哈 我终于改成了既没有重复url又能最先爬相关网页的了 代码https://github.com/coldfreeboy/spider拿去

最新回答 / 否则悲伤从何而来
那你唯一需要修改的就是“然后又随机选一个链接接着爬”,这边的规则应该是你自己想的算法吧建议你写一个方法,把和当前url的关键词按照某种规律,把当前页面的所有url“过滤”成自己需要的有“相关性”URL,就在UrlManger里面的get_new_url下,比如self.new_urls.getMyRulUrl(self.new_urls)

最新回答 / 慕粉3975934
用ctrl+c退出,Python运行比较慢
课程须知
本课程是Python语言开发的高级课程 1、Python编程语法; 2、HTML语言基础知识; 3、正则表达式基础知识;
老师告诉你能学到什么?
1、爬虫技术的含义和存在价值 2、爬虫技术架构 3、组成爬虫的关键模块:URL管理器、HTML下载器和HTML解析器 4、实战抓取百度百科1000个词条页面数据的抓取策略设定、实战代码编写、爬虫实例运行 5、一套极简的可扩展爬虫代码,修改本代码,你就能抓取任何互联网网页!

微信扫码,参与3人拼团

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

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消