Python3从零开始爬取今日头条的新闻【一、开发环境搭建】
Python3从零开始爬取今日头条的新闻【二、首页热点新闻抓取】
Python3从零开始爬取今日头条的新闻【三、滚动到底自动加载】
Python3从零开始爬取今日头条的新闻【四、模拟点击切换tab标签获取内容】
Python3从零开始爬取今日头条的新闻【五、解析头条视频真实播放地址并自动下载】
所谓爬虫,就是通过编程的方式自动从网络上获取自己所需的资源,比如文章、图片、音乐、视频等多媒体资源。通过一定的方式获取到html的内容,再通过各种手段分析得到自己所需的内容,比如通过BeautifulSoup对网页内容进行解析提取。
本文通过selenium的webdriver模拟浏览器来浏览网页,通过lxml库解析得到咱所需的内容。下面开始我们的爬虫工作。
首先,安装好我们爬网所需的开发环境,我的开发环境如下:
- win7 x64中文版
- Visual Studio Code 1.27.2(用于作为Python的编辑器,通过插件可以支持多种语言的开发)
- Anaconda3.5.2-64bit(选择Python3版本)
- 本系列演示过程所用到的python环境以及第三方库:
- python 3.6.5 Anaconda预安装
- selenium 3.14.0 Anaconda手动安装
- lxml 4.2.1 Anaconda预安装的不包含etree,需要卸载重装,见文末方法
- pip 10.0.1 Anaconda预安装
- PyExecJS Anaconda没有,需要cmd执行pip安装
这里为了方便管理Python里面的各种插件的依赖关系,我选择的是Py集成管理工具Anaconda,就像我们其它语言开发使用Maven、Gradle作为依赖库版本管理工具一样,节省自己的时间减少出错的几率。(当然你很强,也可以自己单独安装Python以及本文所用到的各种依赖包,只要不出错就好)
安装步骤:
-
win7系统就不用说了,大家都懂的
-
Visuan Studio Code(本系列后续文章内统一简称vs code)的安装也是很easy,下载后一路下一步完成就行
-
Anaconda3.5也是从官网下来安装包双击执行一路下一步,我是默认安装在C:\ProgramData\Anaconda3,并且在安装过程中勾选了把这个安装目录作为系统Python的安装目录,
-
-
但是查了系统环境变量Path,并没有发现这个在里面,所以安装完成后我们在cmd里面输入python以及pip,是提示命令找不到的。所以不管了,干就完了,咱自己手动把以下路径添加到系统环境变量Path的值里面:
- C:\ProgramData\Anaconda3\Scripts
- C:\ProgramData\Anaconda3
- 不懂配置环境变量操作的自行du一下~
-
启动Anaconda:
-
-
可以看到Anaconda里面已经自动帮我们安装好了Python3.6.5
-
-
我们在这里通过anaconda继续安装后续爬网所需的selenuim框架(用这个管理工具安装的好处就是其它必须的相关依赖都会自动安装,省得自己一个一个去折腾,当然除非这个工具本身找不到你要的插件)
-
-
继续安装用户在py脚本中执行js脚本的插件:PyExecJS
打开vs code,然后按键:Ctrl + ~ 打开cmd终端
-
输入pip install PyExecJS 安装
-
最后,卸载Anaconda预安装的lxml,手动安装带etree的版本,否则执行代码会提示etree导入出错,有些lxml不包含etree,导致找不到指定模块,我们需要手动安装一下。
方法有很多,这里只是其中一种:在网站https://www.lfd.uci.edu/~gohlke/pythonlibs/#lxml找到符合当前python3.7版本的64位的whl文件到本机,然后cmd命令窗口cd到这个whl文件所在的目录,执行安装(先卸载之前预安装的lxml版本再安装下载的这个):
pip uninstall lxml
pip install lxml-4.2.5-cp37-cp37m-win_amd64.whl
如果你的网速较慢,点这里快速下载 lxml-4.2.5-cp37-cp37m-win_amd64.whl
安装火狐浏览器驱动:下载地址
下载后解压放到python.exe所在目录,本文中是C:\ProgramData\Anaconda3
至此,我们把本系列操作所需的软件环境都搞定了,接下来开始我们的爬虫之旅~
全文完结,后续实现用其它框架来爬虫新闻资源。敬请期待~
Python3从零开始爬取今日头条的新闻【一、开发环境搭建】
Python3从零开始爬取今日头条的新闻【二、首页热点新闻抓取】
Python3从零开始爬取今日头条的新闻【三、滚动到底自动加载】
Python3从零开始爬取今日头条的新闻【四、模拟点击切换tab标签获取内容】
Python3从零开始爬取今日头条的新闻【五、解析头条视频真实播放地址并自动下载】
参考资料:
[1]: X1Path语法参考
[2]: 廖雪峰老师的Python3 在线学习手册
[3]: Python3官方文档
[4]: 菜鸟学堂-Python3在线学习
[5]: 其他所有分享过python学习填坑网友的经验