这几天晕晕乎乎的,什么都不想干,窝在房间里面看电影。可是呢,这些年已经把太多好评如潮的电影塞进脑子里,又不想一个个的翻豆瓣、烂番茄再看每个影人的电影评分,这时候呢,需求是我码代码的推动力:)爬虫试试呗
获取演员ID
豆瓣有个电影栏目,通过在里面的编辑框输入想要搜索的演员名,然后搜索就可以找到对应的影人。大多数搜索服务的连接都是通过get,因为搜索功能不牵扯到过多的私密信息,所以可以绕过搜索框直接在url中添加关键字搜索。
返回的网页中,一般如果是正确搜索,没有错误的演员信息,就会在第一条内容中显示演员的基本信息、简介、网页链接。可以直接通过Xpath获取。
豆瓣中不同演员的区分在url中是以actor id作主要评判。在上面中获取的url中就可以直接截取。
1 | def getActorID(): |
获取电影分页信息
每个影人参与的电影数量肯定是不一样的,豆瓣里面以10部电影划分,所以就会有不同的分页信息。豆瓣的分页信息很工整,每个url都可以通过简单的加减乘除算法获得,但是总共的页面数就需要先行获取。
这里有两种方式:
直接通过计算特定的分页url数目
豆瓣中在每个页面下面会标明总共的影片数目
很明显,第二种方法相当简单,例如
1 | <span class="count">(共200条)</span> |
直接通过Xpath语句
1 | '\\span[@class="conyent"]\text()' |
获取每部影片的有效信息
有了影人的actor id,有了分页信息,就可以直接在影片的摘要上面获取我们所需的信息–
电影名称
评分
相应的豆瓣页面URL
这里就相当的简单方便了
1 | def getContent(ids,count): |