爬取猫眼电影TOP100

2018-09-10 01:05:27来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

本文所讲的爬虫项目实战属于基础、入门级别,使用的是Python3.5实现的。

本项目基本目标:在猫眼电影中把top100的电影名,排名,海报,主演,上映时间,评分等爬取下来

爬虫原理和步骤

爬虫,就是从网页中爬取自己所需要的东西,如文字、图片、视频等,这样我们就需要读取网页,然后获取网页源代码,从源代码中用正则表达式进行匹配,把匹配成功的信息存入相关文档中。这就是爬虫的简单原理。

操作步骤

1.确定抓取的数据字段(排名,海报,电影名,主演,上映时间,评分)

2.分析页面html标签结构,找到数据所在位置

3.选择实现方法及数据存储位置(存在在mysql 数据库中)

4.代码写入(requests+re+pymysql)

5.代码调试

 

确定抓取的页面目标URL:http://maoyan.com/board/4

1.导入库/模块

import re,request,pymysql

 

2.请求头域,在网页中查看headers,复制User-Agent内容

 

请求一个单页内容拿到HTML,定义函数,构建headers,请求成功则代码为200,否则失败重新写入代码

 

3.解析HTML,用正则表达式匹配字符,为非贪婪模式.*?匹配

 

运行已经匹配好的第一页内容

运行结果没有处理的如下:

4.进行数据处理,格式美化,按字段依次排列,去掉不必要的空格符

5.创建MySQL数据库,库名movie1表名maoyan,添加我们爬取的6个字段名

 

6.在python中创建数据库连接,把爬取的数据存储到MySQL

调用主函数,运行后得到结果如下:

 

 以上为调取的一页数据,只有TOP10的电影排名,如果需要得到TOP100,则要重新得到URL来构建

第一页的URL为:http://maoyan.com/board/4

第二页的URL为:http://maoyan.com/board/4?offset=10

第三页的URL为:http://maoyan.com/board/4?offset=20

得到页面都是以10来递增URL为:

url='http://maoyan.com/board/4?offset='+str(offset)
需要循环10次即可得到排名前100的电影,并把它写入到数据库中

运行后进入MySQL查看写入的数据

 以上是爬取猫眼top100完整代码,如有错误请多指教。

 

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:python2和3的区别丶网络编程以及socketserver多线程

下一篇:facebook atc弱网环境搭建和踩坑总结