Python有强大的支持爬虫功能的库,是爬取网页数据的首选。先看看是否有Python:cmd界面执行Python
已经安装完成,版本是2.7.15。可能是我安装vue开发环境或者安卓开发环境的时候顺便装上了。
然后检查pip是否安装。pip可以方便地安装Python的各种库,包括爬虫库。
系统无法识别pip命令,但也可能有pip但是不在环境变量path目录,所以无法识别。通过牛逼的everything软件可以搜索到pip.exe
我们到这个目录下看一看
执行pip,下面是使用说明,第一个就是install命令
下面用pip安装爬虫库requests
如果看到这个界面,就说明request库安装成功了。库会直接安装到Python默认的包目录下,直接可以识别找到。
如果提示pip版本低,执行升级命令(重点:我当时确实升级了,如果不影响使用最好别升级,尤其Linux环境不要升级)
成功将pip升级到20.0.2版本。
进入Python命令行验证requests库是否能够使用
看到importrequests和requests.get函数都没有报错,说明安装成功可以开发我们的第一个爬虫程序了!
我们将文件命名为test.py,我不想安装专门的Python的IDE,所有用已经安装好的IDEL打开。
最简单的爬虫就这么几行!!!引入requests库,用get函数访问对应地址,我们访问的是腾讯发布新冠肺炎疫情的地址。判定是否抓取成功的状态,r.text打印出抓取的数据。
然后菜单栏点击Run-RunModule会弹出Python的命令行窗口,并且返回结果。
如果没有IDEL,直接cmd命令行运行按照下面执行
上面是requests库的用法,爬虫库常见的还有selenium。下面我们演示用selenium抓取网页,同时解析获得的html数据中的信息。先安装selenium
selenium可以启动浏览器,用浏览器访问地址获取数据。接下来安装解析html需要的bs4和lxml。
安装lxml
要确保path的环境目录下有chromedriver
我d盘的instantclient_12_2已经加到path里了。所以chromedriver解压到这个目录。chromedriver不同的版本对应Chrome浏览器的不同版本,开始我下载的chromedriver对应Chrome浏览器的版本是71-75(图中最下面的),我的浏览器版本是80所以重新下载了一个才好使。
selenium爬虫代码如下
Python执行过程中会出现
浏览器也会自动启动,访问目标地址
执行结果如下
上面用requests和selenium两种方式获取网站数据,但是结果是不一样的。selenium模拟浏览器获取的数据是我们想要的,requests方式对于这个网页获取不到感兴趣的数据,这个需要具体分析页面找到另一个url才能正确获得,具体找另一个url的方法后续会单独介绍。