《网络爬虫:从入门到实践》一书勘误
本书由于是第一版,因此还存在一些差错,希望各位读者谅解。
另外,感谢各位读者的指正,现将本书的错误之处一并放在此处,方便其他读者更好阅读和使用此书。也欢迎大家在知乎私信或者留言给我,我会持续更新此文。
大家可以扫描一下首页左下角的二维码或者在微信搜索 santostang,关注我的公众号“唐松的数据坊”。想加我微信的朋友,可以在公众号发送“加微信”,会自动回复我的微信号。
本书代码的源代码均可在 github下载: https://github.com/Santostang/PythonScraping 。也在百度云下载:https://pan.baidu.com/s/1nuCZbPf 密码请参照本文最末。
- Anaconda 的安装(第二章 2.1.1;第9页):有读者反映Anaconda 链接无法访问,或者下载超过了几个小时。这是因为国内访问境外网站的限速问题。这里推荐使用清华大学的镜像。请选择 Anaconda3下载,最新版本:Anaconda3-5.0.0-Windows-x86.exe 416M 2017-09-26 17:34; Anaconda3-5.0.0-MacOSX-x86_64.pkg 567M 2017-09-26 17:31
- 编辑器 (第二章,第11页):应该是编辑器,而非编译器
- obj1.detail(obj1) (第二章2.2.5,第18页):obj1.detail(obj1) 为上一行的接着的注释,意在解释 Python 类的传递,并不是代码。正确的代码是:
class Person: # 创建类
def __init__(self, name, age): #__init__()方法称为类的构造方法
self.name = name
self.age = age
def detail(self): #通过self调用被封装的内容
print (self.name)
print (self.age)
obj1 = Person('santos', 18)
obj1.detail() # Python将obj1传给self参数,即:obj1.detail(obj1),此时内部self=obj1
- def _ init _(): (第二章2.2.5;第18/19页):def _ init_ ():应为 def _ _ init _ _(): 单下划线改为双下划线 ,下划线之间没有空格。
class Person: # 创建类
def __init__(self, name, age): #__init__()方法称为类的构造方法
self.name = name
self.age = age
obj1 = Person('santos', 18) #将"santos"和 18 分别封装到 obj1 及 self的 name和age属性
- soup.find(“h1″,class_=”post-tilte”) (第二章2.3.2 第23页):印刷时的 class 后的下划线没印出来,请读者注意,使用 BeautifulSoup 的 find 或 find_all的 class 后均有下划线。
- a=I*0.1 (第二章章末实战 第28和29页):0.01应为0.1。另外29页 elif I<=60 and I>100 应为 elif I<=100 and I>60。
- print (movie_list) (第二章3.4.2 第39页):print (movie_list)应为 print (movies)
- 第四章:代码已无法使用,因为网易云跟帖停止服务,现在已经在博客中更新了新写的第四章。请参照博客文章。
- 第四章章末实战(第55页)。Airbnb网站已经改了代码,所以以前的爬虫代码用不了了。代码已经更新在 github和百度网盘。
- caps[“marionette”] = True (4.3.2,第48页),caps[“marionette”] = False 这里应该改成caps[“marionette”] = True
- 反斜杠“\”(第5章5.1.1 第63页),假如你需要匹配文本中的字符”\”,使用编程语言表示的正则表达式里就需要 4 个反斜杠”\\”:前两个反斜杠”\”和后两个反斜杠”\”各自在编程语言里转义成一 个反斜杠”\”,所以 4 个反斜杠”\\”就转义成了两个反斜”\”,这两个反斜杠”\”最 终在正则表达式里转义成一个反斜杠”\”。
- 第六章章末实战(6.5 第103页)。虎扑网站已经改了代码,所以以前的爬虫代码用不了了。代码已经更新在 github和百度网盘。虎扑的代码也很简单,大家可以自己尝试自己写代码爬虫。
本书更好的使用:
我连 HTML 都不懂,如何自学 HTML?请进入HTML 教程 学习,时间大概2-5小时。
云密码:jhpi