我是看这个视频开始一步步学习爬虫的,才看到第2集。
找到一些博客上有老师视频里的源码,码一下python爬虫之re库的使用(正则表达式)_qq_41973721的博客-CSDN博客
Python3爬虫从入门到精通 - 崔庆才_哔哩哔哩_bilibili
在安装过程中基本每一步都会遇到问题,前面出现了一些问题,已经解决了,我就懒得再回去找解决办法了。现在要安装robomongo,从现在开始,遇到的每一个问题,我都会把我的解决方法记录下来,加油!
- 在安装maysql时出现如下错误
No compatible servers were found. You' ll need to cancel this wizard and install one
下载一个插件
下载插件之后仍然不能正常安装,于是我利用installer程序将之前已经安装好的东西全部卸载,不再参考崔的视频安装mysql,借鉴一些其他内容,只要把mysql安装好就够了。
学这东西配置环境太麻烦了,真对初学者劝退。
原来不是单纯地在电脑上安装插件,我需要在安装之前点击custom安装,详情参考安装MySQL时出现no compatible servers were found的解决方法_智29的博客-CSDN博客_安装mysql找不到兼容服务器
安装mysql front时找不到与视频相同的版本,安装后显示是sql front,要求用mysql front代替。这里把费了点时间找到的正确版本放过来。
「mysql-front_setup.exe」https://www.aliyundrive.com/s/FR2qoHru3Q5 点击链接保存,或者复制本段内容,打开「阿里云盘」APP ,无需下载极速在线查看,视频原画倍速播放。
- 第6集安装常用的库
安装chromedriver出现问题,下面列出了安装网址。
安装chromedriver的网址http://chromedriver.storage.googleapis.com/index.html
同时因为安装的是edge,不想安装chrome,因此想有没有有针对edge的类似的东西,参考anaconda selenium使用Edge 爬虫_puspos的博客-CSDN博客_edge爬虫尝试一下。
上面安装好了edge的webdriver后要相应代码参考下面python使用selenium调用edge浏览器webdriver_xuehuic的成长-CSDN博客_webdriver.edge(),我一开始没有成功是因为webdriver后的Edge的E没有大写。
无论使用Chrome还是Edge在弹出浏览器时都会有“连到系统上的设备没有发生作用”的字样,但是不影响正常使用。
- 在安装pymongo后出现问题
因为老师视频清晰度或者电脑的问题,<>和()根本分不清,在看视频时一定要注意,基本大部分都是()。另外在安装pymongo后抄代码出现问题,insert命令后面应该是()里面是{},还有,pymongo高版本不支持insert命令,因此直接用pip安装pymongo可能因为版本过高无法执行insert,此时要从网站下载低版本手动安装,方法老师前面讲过,在此不赘述。
- 第7集写入文件时出现”OSError: [Errno 22] Invalid argument:文件路径“错误
原来python会将\认定为转义符,解决方法也很简单,把\改成/,把:\改成://。
参考资料:OSError: [Errno 22] Invalid argument问题解决_Overload310的博客-CSDN博客
另外我也了解到在windows中在属性界面复制粘贴路径时,会多一个隐含符 \u202a,其含义为从左向右读。
在wondows命令行中有时出现按向右方向键莫名出现字母,目前原因不明,但是不影响正常使用,暂时搁置该问题吧。
- 转用vscode写代码
视频中老师不再使用命令行写代码,我也觉得命令行不好用,所以转用vscode。因为之前用vscode写过一点python代码,因此环境配置不是问题。
但是在用voscode写代码时发现终端总是有一堆没用的东西,经查询发现因为终端调用的是powershell改用命令行的方法如下:
点击终端右边加号右边的小尖尖——>选择默认配置文件——>command prompt。
另外还有一个问题是代码运行后终端的内容只出现在左半边,其宽度不随vscode变化而变化,参考vsCode中如何根据屏幕宽度自动换行 - 刘俊涛的博客 - 博客园 ,将editor.wordWrap改为on,即可。
- 在第10集 正则表达式 中,无法理解^和$的用法
网上说是为了标记开头和结尾,但是老师的演示中re.match始终加了^$,而使用re.search时就没有,当我对re.match去掉^$时,或者是对re.search加上^$时,结果都是None,对此我不理解,什么时候加,什么时候不加。
目前只看了两个视频学习正则表达式,还需深入学习。
- 在正则表达式的示例中,代码完全相同却结果不同
在讲解使用re.findall的第2个示例中,老师希望把“一路上有你”的歌也匹配上,在练习时代码一模一样,但是findall只返回“一路上有你”一首歌名,经查询发现是因为我的代码中的字符串与老师使用的有不同,我的全部顶格(从老师的github官网上下的),老师的代码有部分缩进,导致结果不同。我怀疑是/s的用法导致的,暂时不细究,把爬虫全部学完再扣细节。