前面几天介绍的都是博客园的内容,今天我们切换一下,了解一下大家都感兴趣的信息,比如最近有啥电影是万众期待的?
猫眼电影是了解这些信息的好地方,在猫眼电影中有5个榜单,其中最受期待榜就是我们今天要爬取的对象。这个榜单的数据来源于猫眼电影库,按照之前30天的想看总数量从高到低排列,取前50名。
我们先看一下这个表单中包含什么内容:
【插入图片,6猫眼榜单示例】
具体的信息有”排名,电影海报,电影名称,主演,上映时间“以及想看人数,今天我们主要关注前面5个信息的收集。
之前我们用正则表达式,在网页源代码中匹配了某一篇文章的标题,大家可能还有印象,这次我们还要用正则表达式来一次爬取多个内容。
另外,也尝试一下requests库。
第一步 如何获取网页的源码?
我们先分析一下这个榜单页面,跟之前博客园的大概是类似的。
url=http://maoyan.com/board/6?offset=0
上面是第一页的榜单地址,我们一眼就关注到了offset这个值,毫无疑问,后面的页面都是将offset改变就能获取到了。
来看一下第二页:
http://maoyan.com/board/6?offset=10
不一样的地方,offset每次增加了10,而不是之前博客园中的1.
无所谓,都是小case。
来来来,我们使用requests来爬一下第一页的源码看看。
import requests
#初始的代码
def get_html(url):
response=requests.get(url)
if response.status_code==200:
html=response.content.decode('utf-8')
return html
else:
return None
requests的get方法返回了一个response对象,我们根据这个response的状态码status_code就可以判断是否返回正常,200一般是OK的。
然后要对返