大家好,《手把手教你写网络爬虫》连载开始啦!在作者的职业生涯中,很少有编程实践能引起程序员和外行的关注。本文由浅入深地讲解爬虫技术,为初学者提供一个简单的入门途径。请跟随我们一起踏上打怪升级爬虫学习之路!简介什么是爬行动物?先看百度百科的定义:将这段代码保存为get_html.py,然后运行看看输出的是什么:定位到的html代码:有了这些信息,就可以使用BeautifulSoup来提取数据了。升级代码:将这段代码保存为get_data.py,然后运行它,看看输出是什么:是的,我们得到了我们想要的数据!BeautifulSoup提供了一些简单的Pythonic函数来处理导航、搜索、修改解析树等。它是一个工具箱,通过解析文档为用户提供他们需要抓取的数据。因为简单,不需要太多代码就可以写出一个完整的应用程序。怎么样,你以为复制粘贴就可以写爬虫了吗?简单的爬虫确实是可能的!一个迷你爬虫先定个小目标:爬取网易云音乐500万以上播放量的歌单。打开播放列表的url:http://music.163.com/#/discover/playlist,使用BeautifulSoup提取播放次数3715。事实证明我们什么也没提取。我们是否打开了一个假网页?Selenium:是一个强大的网络数据收集工具,最初是为网站自动化测试而开发的。近年来,它也被广泛用于对网站进行准确的快照,因为它们可以直接在浏览器上运行。Selenium库是一个在WebDriver上调用的API。WebDriver有点像加载网站的浏览器,但它也可以像BeautifulSoup对象一样用于查找页面元素、与页面上的元素交互(发送文本、单击等),以及执行其他操作以运行web爬虫。安装方法与其他Python第三方库相同。$pipinstallSelenium验证:Selenium没有浏览器,需要配合第三方浏览器使用。例如,如果您在Firefox上运行Selenium,您可以看到一个Firefox窗口打开,转到该网站,然后执行您在代码中设置的操作。这样虽然可以看的比较清楚,但是不适合我们的爬虫程序。爬取一个页面再打开一个页面效率太低,所以我们使用一个叫做PhantomJS的工具,而不是真正的浏览器。PhantomJS:是一个“无头”浏览器。它会将网站载入内存并在页面上执行JavaScript,但不会向用户显示网页的图形界面。结合Selenium和PhantomJS,您可以运行一个非常强大的网络爬虫,它可以处理cookie、JavaScript、标头以及您需要做的任何其他事情。PhantomJS不是Python的第三方库,不能用pip安装。这是一个功能齐全的浏览器,因此您需要访问其官方网站并下载它,然后将可执行文件复制到Python安装的Scripts文件夹中,如下所示:开始工作!打开播放列表的***页面:http://music.163.com/#/discover/playlist/?order=hot&cat=%E5%85%A8%E9%83%A8&limit=35&offset=0使用Chrome的““开发者工具”F12先分析一下,很容易看破一切nb(号码广播):29915covermsk(掩码):title和url一样,可以找到“下一页”的url,和最后一页的url是“javascript:void(0)”。***,我们的工作可以用18行代码完成。将这段代码保存为get_data.py并运行。运行后,一个playlist.csv文件生成在程序目录下,看到结果是不是很有成就感呢,有兴趣的也可以按照这个思路,找到评论最多的单曲,再也不用担心听不懂了不点歌了!今天的内容比较简单,希望对你有用。暂时就这些,我们下期再见!原文链接:http://www.cnblogs.com/tuohai666/p/8718107.html