首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

爬虫从头学之Requests+正则表达式爬取猫眼电影top100

预计阅读时间: 2分钟

爬取思路

当我们想要爬取一个页面的时候,我们要保证思路清晰,爬虫的思路分四个步骤,发起请求获取响应内容解析内容存储内容。根据这四个内容我们的思路就很清晰。以下为具体步骤

使用requests库爬出单页内容

根据返回值使用正则表达式分析

保存至文件

对目标网站进行循环以及多线程爬取

项目实战部分

1.

使用requests库爬出单页内容

爬取url:http://maoyan.com/board/4?

猫眼对爬虫有一个反爬虫策略,如果请求头没有模仿为浏览器的请求头会出现禁止访问,所以这里我们设置请求头。

2.

根据返回值使用正则表达式分析

上一步,我们通过requests库爬取目标网页的所有内容,可是我们需要的是去除HTML标签后的部分信息,怎么办呢,正则表达式派上用场了。这部分主要是正则表达式的书写,所以学会爬虫,一个重要的点就是正则表达式,使用正则匹配完页面所有的相符合内容后,使用yield生成器对正则匹配到的信息进行处理。

3.

保存至文件

对目标网页的信息处理完成后,我们就需要将其存储到一个文件中,存储为.txt文件,并将编码格式为utf-8,存储完成后关闭文件。

我们就可以看到result.txt文件,打开文件我们可以看到爬取的排名。

4.

对目标网站进行循环以及多线程爬取

最后就是对网站进行循环爬取了,到目前为止,我们只是爬取一个页面,只有10个数据,我们分析下从第一页到最后一页的地址变化http://maoyan.com/board/4?offset=90,我们可以发现offset参数是翻页地址的变化原因,这样我们就可以得到从第一页到最后一页的地址。

好了,使用requests库+正则表达式爬取猫眼电影top100完成了,其实很简单,只要我们多动手做做,多分析具体网址,基本就可以将我们想爬取的网站爬取。

这一路走来,我们一起分享技术,

一起看见更大的世界!

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180609G110FS00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券