爬取豆瓣top250电影说明

(链接:https://movie.douban.com/top250,可爬取一页或者多页(输出电影的正标题(肖申克的救赎),副标题( The Shawshank Redemption)、其他名( / 月黑高飞(港) / 刺激1995(台))、导演和主演(导演: 弗兰克·德拉邦特 Frank Darabont 主演: 蒂姆·罗宾斯 Tim Robbins /…)、年份(1994)、国家(美国)、类型(犯罪 剧情)、评分(9.7)、评分人数(2072430)、名言(对应下图的希望让人自由)))

示例代码

# -*- coding: utf-8 -*-
# author:Gary
import requests  # 获取网页内容
from bs4 import BeautifulSoup  # 解析网页内容
import re  # 正则匹配内容# 获取网页的内容
def get_html(URL):header = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) ''Chrome/79.0.3945.130 Safari/537.36'}res = requests.get(URL, headers=header)  # 获取网页,并带有伪装的浏览器头,一般好的网站会有检测是不是程序访问res.encoding = res.apparent_encoding  # 设置编码,防止乱码# print(res.text)#输出网页内容return res.text  # 返回网页的内容# 通过bs4解析,主要是标签选择器
def ana_by_bs4(html):soup = BeautifulSoup(html, 'html.parser')  # 注意需要添加html.parser解析lis = soup.select("ol li")  # 选择ol li标签for li in lis:index = li.find('em').text  # 索引title = li.find_all('span', class_='title')  # 正标题the_title = title[0].text  # 正标题if len(title) > 1:  # 如果title存在两个则表明存在副标题sub_title = title[1].textelse:sub_title = ''try:other_title = li.find('span', class_='other').text  # 其他标题except:other_title = ''actor = li.find('div', class_='bd').find('p').text.split('\n')[1].strip()  # 导演和演员strInfo = re.search("(?<=<br/>).*?(?=<)", str(li.select_one(".bd p")), re.S | re.M).group().strip()  # 年份、国家、类型infos = strInfo.split('/')year = infos[0].strip()  # 年份area = infos[1].strip()  # 国家,地区m_type = infos[2].strip()  # 类型rating = li.find('span', class_='rating_num').text  # 评分remark_num=li.find('div',class_='star').find_all('span')[3].text[:-3]#评分人数try:quote = li.find('span', class_='inq').text  # 名言except:  # 名言可能不存在quote = ''# print(actor)print(index, the_title, sub_title, other_title, actor, year, area, m_type, rating,remark_num, quote)if __name__ == '__main__':for page in range(10):print('第{}页'.format(page + 1))print('正标题', '副标题', '其他标题', '导演和主演', '年份', '地区', '类型', '评分', '评分人数','名言')url = 'https://movie.douban.com/top250?start={}&filter='.format(page * 25)  # 电影的url,有多页的时候需要观察url的规律text = get_html(url)  # 获取网页内容ana_by_bs4(text)  # bs4方式解析

python采用requests+bs4爬取豆瓣top250电影信息相关推荐

  1. [python爬虫] BeautifulSoup和Selenium对比爬取豆瓣Top250电影信息

    这篇文章主要对比BeautifulSoup和Selenium爬取豆瓣Top250电影信息,两种方法从本质上都是一样的,都是通过分析网页的DOM树结构进行元素定位,再定向爬取具体的电影信息,通过代码的对 ...

  2. Python爬虫入门 | 4 爬取豆瓣TOP250图书信息

      先来看看页面长啥样的:https://book.douban.com/top250   我们将要爬取哪些信息:书名.链接.评分.一句话评价--   1. 爬取单个信息 我们先来尝试爬取书名,利用之 ...

  3. Python爬虫菜鸟入门,爬取豆瓣top250电影 (自己学习,如有侵权,请联系我删除)

    Python爬虫菜鸟入门,爬取豆瓣top250电影 (自己学习,如有侵权,请联系我删除) import requests from bs4 import BeautifulSoup import ti ...

  4. Python爬取豆瓣Top250电影中2000年后上映的影片信息

    Python爬取豆瓣Top250电影中2000年后上映的影片信息 前言 双十一前加在京东购物车的一个东西,价格330,Plus会员用券后差不多310.双十一当天打开看了下399,还得去抢满300减10 ...

  5. Python爬取豆瓣Top250电影可见资料并保存为excel形式

    Python爬取豆瓣Top250电影可见资料并保存为excel形式 利用requests第三方库实现网页的元素爬取,再使用openpyxl库进行信息的录入. 具体思路 1.分析网页的headers. ...

  6. python爬虫 requests+bs4爬取猫眼电影 傻瓜版教程

    python爬虫 requests+bs4爬取猫眼电影 傻瓜版教程 前言 一丶整体思路 二丶遇到的问题 三丶分析URL 四丶解析页面 五丶写入文件 六丶完整代码 七丶最后 前言 大家好我是墨绿 头顶总 ...

  7. 爬取豆瓣top250电影并分析

    爬取豆瓣top250电影,提取评论关键词,然后将同一国家的关键词做成一个词云,轮廓是每个国家的地图轮廓 爬取数据 需要爬取电影名称.导演.年份.地区和前10个评论除了地区,其他的都没什么问题,我们来研 ...

  8. scrapy爬取豆瓣top250电影数据

    scrapy爬取豆瓣top250电影数据 scrapy框架 Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架. 可以应用在包括数据挖掘,信息处理或存储历史数据等一系列的程序中. sc ...

  9. 【实战1】用BeatuifulSoup解析器爬取豆瓣Top250电影的名称

    [实战1]用BeatuifulSoup解析器爬取豆瓣Top250电影的名称 一. 爬虫的普遍步骤 二. 项目目标分析 三.完整爬取代码 参考链接: https://www.bilibili.com/v ...

最新文章

  1. 【React Native】iOS原生导航跳转RN页面
  2. sklearn 笔记:数据归一化(StandardScaler)
  3. 项目:部署LNMP动态网站
  4. 数学建模必备算法之模拟退火算法
  5. Linux命令(2)—— 如何切换当前目录
  6. 第30课 棋盘上的学问 《小学生C++趣味编程》
  7. 算法高级(25)-分布式TopN算法玄机
  8. 天池学习赛:工业蒸汽量预测5——特征优化
  9. Linux之diff命令
  10. paip.备份导出ANDROID安卓自带记事本内容
  11. c语言必背的100代码
  12. 服务器虚拟化集群部署
  13. 找到一个不错的学习python的网站
  14. 安卓手机查看连接到热点设备的ip地址
  15. 系动词分类【大学英语笔记】
  16. STM32G4系列通过SPI配置DRV8353S驱动芯片
  17. 解决mini_httpd_v1.30在使用http post请求出现 socket hang up的问题
  18. 计算机一级仿宋gb2312,仿宋gb2312字体
  19. Git入门到精通(大全)
  20. 服务程序使用OutputDebugString,DbgView接收不到调试信息问题

热门文章

  1. SVG(可缩放矢量图形)基本图形绘制方法与path路径命令
  2. html如何设置页脚,如何将HTML页眉和页脚添加到页面?
  3. MicroNet实战:使用MicroNet实现图像分类(一)
  4. 物联网毕设 -- 智能热水器(GPRS+APP+OneNET)
  5. 基于FPGA的永磁同步伺服控制系统的设计,在FPGA实现了伺服电机的矢量控制, 坐标变换,电流环,速度环
  6. 网易云引领程序员健康跑,Running Coder火爆IT界
  7. 我的世界内网映射联机纯净服开服教程
  8. encode and decode
  9. 杭州社保解读截止2023
  10. 网络基础之二进制、十进制、八进制、十六进制转换教学