
创建项目的时候也自动创建了一个脚本,这里我们只需要改动脚本OK。我们要爬豆瓣的所有电影,选择http://movie.douban.com/tag/为起始点,也就是从这里开始爬。
- 首先是改动on_start

这里没什么讲的,改个网址而已,callback就是调用下一个函数开始这个起始网页。
- 改动index_page函数
我们先来看一下启示网页张怎样?

有按类型分类,也有按国家/地区分类,还有按年代分类。我们可以选择按国家/地区分类,也可以选择按年代分类,最好不选择按类型分类,因为同一部电影既可能是爱情片、又可能是动作片(感觉怪怪的)。我这里选择按年代分类。
先看一下index_page我是怎么改的。

可以看到我们是从response.doc之中选择tag的,然后
#content>div>div.article> table:nth-child(9)>tbody>tr>td>a
熟悉css selector的朋友可能会很熟悉这种东西,然而我是第一次接触,所以讲不出个所以然来。其实css selector跟正则表达式、xpath一样,也是一种内容选择的方法,然后也很好理解这是什么意思。
这是分隔符,熟悉css selector的朋友可以不用看下面的部分
我们先看一下

我们要选择的是2013、2012到1989这部分内容,那么我们右键选择2013然后审查元素


然后在链接中右键选择copy css path得到一个然后复制到文本中,我们选多几个tag的css path,查看一下规律

可以看到选中的几个tag的css path不同点就在我红线标出的地方,那么我们把他们的不同之处去掉,只留下相同的部分,也就是最下面的一行,把他复制下来,放到

括号里面,告诉爬虫,我们要爬的部分在这个path下!
这就是一个得到css path的方法,就连我这个第一次接触css selector的人都可以找到
下面回归
接着是

我们先把符合上面css path规则的部分进行了替换,把www替换为了movie。为什么这样做呢?我们分别打开
http://www.douban.com/tag/2013/?focus=movie 和 http://movie.douban.com/tag/2013/?focus=movie 来看。


可以看到www的是没有翻页的!!!而movie的是有翻页的!!!我们要遍历所有电影,当然要有翻页了!!!所以这就是替换的原因所在!

这段代码就是把得到的类似http://movie.douban.com/tag/2013?focus=movie的网页交给了下一个函数去解析了!
- 改动list_page函数

这里的css path我是有pyspider自带的css selector helper得到的。说到这里就再讲一下pyspider自带的css selector helper怎么用(当然这不是万能的,要不然上面我也不会用浏览器的审查元素进行获取css path)

我们先点击脚本编辑器的中间上方的run

选择follows,看到这样的
点击箭头继续。

顺便说一下,如果点击箭头follows就没有链接了,那么说明你上一个函数的css path没有选对!回去修改!!
到这里再选一个链接的箭头继续。回到web下。

最后
不知道你们用的什么环境,我一般都是用的Python3.6环境和pycharm解释器,没有软件,或者没有资料,没人解答问题,都可以免费领取(包括今天的代码),过几天我还会做个视频教程出来,有需要也可以领取~
给大家准备的学习资料包括但不限于:
Python 环境、pycharm编辑器/永久激活/翻译插件
python 零基础视频教程
Python 界面开发实战教程
Python 爬虫实战教程
Python 数据分析实战教程
python 游戏开发实战教程
Python 电子书100本
Python 学习路线规划

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
。**
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
本文介绍了如何使用Python和Pyspider爬取豆瓣电影,通过CSS选择器选择和解析网页内容,并讲解了如何处理翻页问题。作者还分享了获取和使用Python环境及学习资源的方法。
973

被折叠的 条评论
为什么被折叠?



