先上代码

#coding=utf-8
import re
import urllib.requestdef getHtml(url):page = urllib.request.urlopen(url)html = page.read()html = html.decode('utf-8')return htmldef getItem(html):reg = re.compile(r'.*?<span class="title">(.*?)</span>.*?<p class="">.*?(\d+).*?</p>.*?<span class="rating_num" property="v:average">(.*?)</span>.*?<span>(\d+)人评价',re.S)items = re.findall(reg,html)global indexfor index,item in enumerate(items,index+1):print (index,item)if __name__=='__main__':index = 0for i in range(0,226,25):url  = "https://movie.douban.com/top250?start="url += str(i) + "&filter="html = getHtml(url)getItem(html)print ("\nOK!All OVER!")

#关于正则表达式的一些说明
#<span class="title">(.*?)</span>  获取电影名字
#<p class="">.*?(\d+) 获取电影上映年份
#<span class="rating_num" property="v:average">(.*?)</span> 获取评分
#</span>.*?<span>(\d+)人评价  获取评价人数

如果想要代码看起来更优雅点,可以去掉

global index

index = 0

再将  index+1 改成1,只是不能按顺序统计了。

#coding=utf-8
import re
import urllib.requestdef getHtml(url):page = urllib.request.urlopen(url)html = page.read()html = html.decode('utf-8')return htmldef getItem(html):reg = re.compile(r'.*?<span class="title">(.*?)</span>.*?<p class="">.*?(\d+).*?</p>.*?<span class="rating_num" property="v:average">(.*?)</span>.*?<span>(\d+)人评价',re.S)items = re.findall(reg,html)for index,item in enumerate(items,1):print (index,item)if __name__=='__main__':for i in range(0,226,25):url  = "https://movie.douban.com/top250?start="url += str(i) + "&filter="html = getHtml(url)getItem(html)print ("\nOK!All OVER!")
#coding=utf-8
import re
import requests
from prettytable import PrettyTable
from colorama import init,Foredef getHtml(url):  page = requests.get(url)  html = page.text  return htmldef getItem(html):reg = re.compile(r'.*?<span class="title">(.*?)</span>.*?<p class="">.*?(\d+).*?</p>.*?<span class="rating_num" property="v:average">(.*?)</span>.*?<span>(\d+)人评价',re.S)items = re.findall(reg,html)return itemsif __name__=='__main__':movie = []init(autoreset=True)table = PrettyTable([Fore.RED +"排名", "电影名",'上映年份','综合评分','评价人数'])for i in range(0,226,25):url  = "https://movie.douban.com/top250?start="url += str(i) + "&filter="html = getHtml(url)items = getItem(html)for item in items:movie.append(item)for index,item in enumerate(movie,1):if index % 4 == 0:color = Fore.REDelif index % 4 == 1:color = Fore.YELLOWelif index % 4 == 2:color = Fore.GREENelse:color = Fore.CYANtable.add_row([color + str(index),item[0],item[1],item[2],item[3]])print (table)

Python爬虫实战(一):爬取豆瓣电影top250排名相关推荐

  1. Python爬虫实战 | (3) 爬取豆瓣电影Top250

    在本篇博客中,我们将使用requests+正则表达式来爬取豆瓣电影TOP250电影榜单,获取每部电影的序号.片名.导演.编剧.主演.类型.制作国家/地区.语言.上映日期.片长.又名.豆瓣评分和剧情简介 ...

  2. Python爬虫实战(爬取豆瓣电影)

    首先介绍一下python的几个库,python之所以在实现爬虫方面有独特的优势,在于其类库非常的丰富,基本涵盖了所有的需求,只要找到对应的库进行import,这就类似于Java中导入类库或者jar包那 ...

  3. 爬虫实战:爬取豆瓣电影 Top-250 到 Excel 表格中

    最近在家无聊自学了python的一些基础知识.后来看到许多朋友都在写爬虫,自己感觉很有意思,也想试一下 >____< 其实本来我是想将数据爬取到excel之后再增加一些数据库操作,然后用f ...

  4. Python爬虫实战(1) | 爬取豆瓣网排名前250的电影(下)

    在Python爬虫实战(1) | 爬取豆瓣网排名前250的电影(上)中,我们最后爬出来的结果不是很完美,这对于"精益求精.追求完美的"程序猿来说怎么能够甘心 所以,今天,用pyth ...

  5. Python爬虫入门(爬取豆瓣电影信息小结)

    Python爬虫入门(爬取豆瓣电影信息小结) 1.爬虫概念 网络爬虫,是一种按照一定规则,自动抓取互联网信息的程序或脚本.爬虫的本质是模拟浏览器打开网页,获取网页中我们想要的那部分数据. 2.基本流程 ...

  6. python爬虫,Scrapy爬取豆瓣电影《芳华》电影短评,分词生成词云图。

    项目github地址:https://github.com/kocor01/scrapy_cloud Python版本为3.6 自己写的简单架构<python爬虫,爬取豆瓣电影<芳华> ...

  7. Python爬虫实战之爬取豆瓣详情以及影评

    爬取豆瓣详情分为三步: 1.爬取豆瓣电影的所有标签,遍历标签,通过分析网址结构获得每一类标签下的电影url 2.通过url 爬取电影详情 3.导入数据库 爬虫代码如下: from urllib imp ...

  8. Python爬虫学习之爬取豆瓣音乐Top250存入Excel表格中

    前言 目标网站:https://music.douban.com/top250 任务: 爬取豆瓣音乐Top250的歌曲名 爬取豆瓣音乐Top250的歌曲对应的表演者.发行时间和音乐流派(分别对应下图斜 ...

  9. Python爬虫实战(1) | 爬取豆瓣网排名前250的电影(上)

    今天我们来爬取一下豆瓣网上排名前250的电影. 需求:爬取豆瓣网上排名前250的电影,然后将结果保存至一个记事本里. 开发环境: python3.9 pycharm2021专业版 我们先观察网页,看看 ...

  10. python爬虫豆瓣电影短评_【Python爬虫】BeautifulSoup爬取豆瓣电影短评

    目的:爬取豆瓣[红海行动]电影的首页短评 步骤: 1.使用BeautifulSoup解析网页 soup = BeautifulSoup(r, 'lxml') // lxml 库解析速度快,也能解析复杂 ...

最新文章

  1. k线顶分型 python_K线运用:顶分型的技术特点及应用方法
  2. Webpack 4 学习09(打包生成html)
  3. 逆误差函数:torch.erfinv
  4. linux debian 自动安装,debian系统精简安装
  5. NeurIPS 2019最热趋势-贝叶斯深度学习
  6. OSPF的高级配置(连载1)
  7. python 元组捷豹_GitHub - jaguarzls/pyecharts: Python Echarts Plotting Library
  8. htcvr设备计算机配置,准备买HTC VIVE了?来测试一下你的电脑配置够不够
  9. leetcode题解98-验证二叉搜索树
  10. 企业级应用的前端思考。
  11. 20145236《网络攻防》 Exp3 免杀原理与实践
  12. 100款经典黑客小工具使用说明
  13. 计算机毕业设计springboot基于springboot框架的企业合同管理系统设计与实现
  14. AtCoder Beginner Contest 167 Solution
  15. 降维打击 Dimensionality reduction attack
  16. 联想ghost重装系统_联想电脑怎么重装系统的方法
  17. 有什么软件可以把PDF文件转jpg?推荐这3款软件给你
  18. 关闭按钮 重置按钮
  19. 绩效考核为何不得人心?
  20. Office 2021 简体中文 正式版 零售版 32位和64位 官方镜像下载合集

热门文章

  1. ROS rviz gazebo No transform from [left_leg] to [base_link]
  2. 本地ping不上虚拟机地址? 只需简单几步即可
  3. 胖哈勃 web--NewSql Mysql 8 注入
  4. node.js使用http.createServer搭建简单服务
  5. 从书中学爬虫靠谱吗?深夜读《爬虫实战 从数据到产品》
  6. ORB-SLAM2代码详解08: 局部建图线程LocalMapping
  7. win10如何彻底关闭病毒实时保护
  8. IP 反查地址开源项目 ip2region
  9. iOS 连接外设的几种方式
  10. 西门子博途1500双驱同步,伺服同步运行程序,3轴码垛博途程序,scl项目