本次咱们来经过翻页爬取的方式爬取猫眼电影里面推荐的前100名电影,并存储到数据库。正则表达式
一、咱们登陆猫眼,看下咱们的数据在哪里数据库
而后点击今日TOP100,看下具体的网页数据函数
最下面咱们看到底部有页码,并分析页码与地址栏的关系。字体
咱们能够总结出如下规律:spa
后续咱们经过不断变化地址栏就能够实现翻页搜索信息的效果。3d
而,咱们要获取的影片内容有哪些?下面这些:排名、影片名称、主演、上映时间、评分。调试
对于咱们要获取的信息,咱们要查看源码,看下对应的信息的通用格式是怎样的。blog
按F12键,在调试模式里面点击小箭头,选中对应的页面元素就能够看到元素的源代码了。源码
一、排名:it
元素格式:<i class="board-index board-index-1">1</i>
上面格式中的红色字体是能够改变的,好比第二名就是:<i class="board-index board-index-2">2</i>
咱们能够用\d{1,3} 代替1-100的数字,那么对应的正则表达式能够写成:
p=r'<i class="board-index board-index-\d{1,3}">\d{1,3}'
因此,咱们获取排名的代码以下:
最后在修改一下,把数字提取出来,用split()函数:
二、电影名称:
有两条,咱们只取一条就能够了。
元素格式:<a href="/films/1203" title="霸王别姬" class="image-link"
根据上面,咱们能够写正则表达式为:p2=r'<a href="/films/\d{1,}" title="\S{1,}" class="image-link"
代码以下:
最后,咱们要修改下,只过滤电影名称,采用split()函数
三、主演与上映时间:
四、最后是评分
最后,咱们要作的是:
一、分值合并。
二、以上各个值的组装。
三、写入数据库。
四、翻页
先写到这里,同窗们思考上面两个,答案下面一讲再公布。
注:其实咱们的正则表达式更加精准的话,就不用截取那么屡次。后续再重点讲正则表达式这块知识。