python爬取猫眼电影的Top100

1 查看网页结构

(1)确定需要抓取的字段

电影名称

电影主演

电影上映时间

电影评分

(2) 分析页面结构

按住f12------->点击右上角(如下图2)---->鼠标点击需要观察的字段

(3)BeautifulSoup解析源代码并设置过滤属性

1 soup = BeautifulSoup(htmll, ‘lxml‘)

2 Movie_name = soup.find_all(‘div‘,class_=‘movie-item-info‘)

3 Movie_Score1=soup.find_all(‘p‘,class_=‘score‘)

(4)调试查看过滤属性是否正确

(5)提取对应字段

 1  for cate,score in zip(Movie_name,Movie_Score1):
 2         data={}
 3         movie_name1 = cate.find(‘a‘).text.strip(‘\n‘)
 4         data[‘title‘]=movie_name1
 5         movie_actor = cate.find_all("p")[1].text.replace("\n"," ").strip()
 6         data[‘actors‘]=movie_actor
 7         movie_time=cate.find_all("p")[2].text.strip(‘\n‘).strip()
 8         data[‘data‘]=movie_time
 9         movie_score1=score.find_all("i")[0].string
10         movie_score2=score.find_all("i")[1].string
11         movie_score=movie_score1+movie_score2
12         data[‘score‘] = movie_score
13         name = movie_name1 + "\t"+movie_actor+"\t" + movie_time+"\t"+movie_score
14         DATA.append(name)
15         with open(‘Movie1.txt‘, ‘a+‘) as f:
16             f.write("\n{}".format(name))

(6)翻页爬取

如下图,按照1 2 3步骤,发现页数是有这样子的规律。比如offset=0 offset=10......

2 存储excel

1   for datas in DATA:
2         datas=datas.split(‘\t‘)#因为我之前解析字段拼接的时候就是采用\t分割
3         print(len(datas))
4         print(datas)
5         for j in range(len(datas)):#列表中的每一项都包含按照\t分割的字段
6             print(j)
7             sheet1.write(i, j, datas[j])
8         i = i + 1
9     f.save("d.xls")  # 保存文件

3 结果

原文地址:https://www.cnblogs.com/lanjianhappy/p/11930088.html

时间: 2024-10-08 22:52:24

python爬取猫眼电影的Top100的相关文章

python爬取猫眼电影top100排行榜

爬取猫眼电影TOP100(http://maoyan.com/board/4?offset=90)1). 爬取内容: 电影名称,主演, 上映时间,图片url地址保存到mariadb数据库中;2). 所有的图片保存到本地/mnt/maoyan/电影名.png 代码: import re import pymysql as mysql from urllib import request from urllib.request import urlopen u = 'root' p = 'root'

python爬取猫眼电影top100

最近想研究下python爬虫,于是就找了些练习项目试试手,熟悉一下,猫眼电影可能就是那种最简单的了. 1 看下猫眼电影的top100页面 分了10页,url为:https://maoyan.com/board/4?offset=0 我们发起请求,得到相应: 我们 我使用的是requests库,这是一个第三方的库. 2 利用正则解析爬取下的页面 当然你也可以使用xpath和bs4. 我们先看一下网页的源代码: 然后根据代码写出要匹配的正则,然后对匹配出来的数据做解析: 3 将抓到的数据写入本地文件

用Python爬取猫眼上的top100评分电影

代码如下: # 注意encoding = 'utf-8'和ensure_ascii = False,不写的话不能输出汉字 import requests from requests.exceptions import RequestException import re import json #from multiprocessing import Pool # 测试了下 这里需要自己添加头部 否则得不到网页 headers = { 'User-Agent':'Mozilla/5.0 (Win

# [爬虫Demo] pyquery+csv爬取猫眼电影top100

目录 [爬虫Demo] pyquery+csv爬取猫眼电影top100 站点分析 代码君 [爬虫Demo] pyquery+csv爬取猫眼电影top100 站点分析 https://maoyan.com/board/4?offset=0 翻页操作只会改变offset偏移量,每部电影的信息都在dd标签内,使用pyquery库中的css选择器直接解析页面 代码君 css选择器直接选择和使用find()方法的区别:find()用于选择子节点,因此限定了选择的区域,速度可能要快些,直接传入''选择器可能

Python使用asyncio+aiohttp异步爬取猫眼电影专业版

asyncio是从pytohn3.4开始添加到标准库中的一个强大的异步并发库,可以很好地解决python中高并发的问题,入门学习可以参考官方文档 并发访问能极大的提高爬虫的性能,但是requests访问网页是阻塞的,无法并发,所以我们需要一个更牛逼的库 aiohttp ,它的用法与requests相似,可以看成是异步版的requests,下面通过实战爬取猫眼电影专业版来熟悉它们的使用: 1. 分析 分析网页源代码发现猫眼专业版是一个动态网页,其中的数据都是后台传送的,打开F12调试工具,再刷新网

00_抓取猫眼电影排行TOP100

前言: 学习python3爬虫大概有一周的时间,熟悉了爬虫的一些基本原理和基本库的使用,本次就准备利用requests库和正则表达式来抓取猫眼电影排行TOP100的相关内容. 1.本次目标: 需要爬去出猫眼电影排行TOP100的电影相关信息,包括:名称.图片.演员.时间.评分,排名.提取站点的URL为http://maoyan.com/board/4,提取的结果以文本形式保存下来. 2.准备工作 只需要安装好requests库即可. 安装方式有很多种,这里只简单的介绍一下通过pip这个包管理工具

14-Requests+正则表达式爬取猫眼电影

'''Requests+正则表达式爬取猫眼电影TOP100''''''流程框架:抓去单页内容:利用requests请求目标站点,得到单个网页HTML代码,返回结果.正则表达式分析:根据HTML代码分析得到电影的名称.主演.上映时间.评分.图片链接等信息.保存至文件:通过文件的形式保存结果,每一部电影一个结果一行Json字符串.开启循环及多线程:对多页内容遍历,开启多线程提高抓取速度.'''import requestsimport refrom requests.exceptions impor

正则表达式爬取猫眼电影

正则表达式爬取猫眼电影Top100 import requests import re,json from multiprocessing import Pool def get_one_page(url): response = requests.get(url) return response.text def parse_one_page(html): pattern = re.compile('<dd>.*?board-index.*?>(\d+)</i>.*?dat

利用Python爬取豆瓣电影

目标:使用Python爬取豆瓣电影并保存MongoDB数据库中 我们先来看一下通过浏览器的方式来筛选某些特定的电影: 我们把URL来复制出来分析分析: https://movie.douban.com/tag/#/?sort=T&range=0,10&tags=%E7%94%B5%E5%BD%B1,%E7%88%B1%E6%83%85,%E7%BE%8E%E5%9B%BD,%E9%BB%91%E5%B8%AE 有3个字段是非常重要的: 1.sort=T 2.range=0,10 3.tag