项目目标:
爬取豆瓣电影排行榜top250

项目分析:
打开豆瓣电影排行榜网址(以下分别是前三页的网址),由此我们判断只需更改"start=**"的数值既可遍历整个排行榜。

  1. https://movie.douban.com/top250?
  2. https://movie.douban.com/top250?start=25&filter=
  3. https://movie.douban.com/top250?start=50&filter=

获取网址
使用requests获取网页信息

def get_one_page(url):try:r = requests.get(url, headers=headers)r.raise_for_status() #查看链接是否异常r.encoding = r.apparent_encodingreturn r.textexcept:return "爬取失败!"

解析获取到的网址
使用正则表达式,获取排名,名称,上映时间,评分这些信息。

def pare_one_page(html):pattern = re.compile('<li>.*?class="">(\d+)</em>.*?class="title">(.*?)</span>.*?class="">.*?(\d+).''*?</p>.*?property="v:average">.*?(\d.\d)</span>.*?</li>', re.S)items = re.findall(pattern, html)for item in items:yield {'排名': item[0],'名称': item[1],'时间': item[2],'评分': item[3]}

保存文件

def write_to_file(content):with open('top250.txt', 'a', encoding='utf-8') as f: #'a'表示往后追加数据f.write(str(content) + '\n') # content 字典改为字符串f.close()

最后附上全部代码

'''
抓取
解析
存储
'''
import requests
import re
from multiprocessing import Poolheaders = {'user-agent':'Mozilla/5.0'}def get_one_page(url):try:r = requests.get(url, headers=headers)r.raise_for_status()r.encoding = r.apparent_encodingreturn r.textexcept:return "爬取失败!"def pare_one_page(html):pattern = re.compile('<li>.*?class="">(\d+)</em>.*?class="title">(.*?)</span>.*?class="">.*?(\d+).''*?</p>.*?property="v:average">.*?(\d.\d)</span>.*?</li>', re.S)items = re.findall(pattern, html)for item in items:yield {'排名': item[0],'名称': item[1],'时间': item[2],'评分': item[3]}def write_to_file(content):with open('top250.txt', 'a', encoding='utf-8') as f: #'a'表示往后追加数据f.write(str(content) + '\n') # content 字典改为字符串f.close()def main(num):url = "https://movie.douban.com/top250?start=" + str(num) +"&filter="html = get_one_page(url)for item in pare_one_page(html):print(item)write_to_file(item)if __name__ == "__main__":for i in range(10):main(i*25)

运行
查看结果
查看文件

完成!

python3豆瓣电影排行榜爬取相关推荐

  1. JAVA爬虫(一):豆瓣电影排行榜爬取

    JAVA爬虫(一):豆瓣电影排行榜爬取 前言 流程图 步骤 一.爬取豆瓣电影榜单网页源代码 二.网页源码解析 三.爬取单个电影网页源码 四.源代码解析及关键信息获取 前言 最近和大创队友一起给大创做的 ...

  2. Colly实现豆瓣电影Top250爬取

    使用 Colly 实现 豆瓣电影Top250爬取 package mainimport ("encoding/csv""github.com/PuerkitoBio/go ...

  3. 豆瓣电影影评爬取---最受欢迎的影评[xpath语法]

    豆瓣电影影评爬取---最受欢迎的影评[xpath语法] 1.基础环境配置: requests-->版本:2.12.4 lxml-->版本:3.7.2 2.爬取网址:https://movi ...

  4. python爬取豆瓣电影top250_Python 爬取豆瓣电影Top250排行榜,爬虫初试

    from bs4 import BeautifulSoup import openpyxl import re import urllib.request import urllib.error # ...

  5. 大数据Python爬取B站电影排行榜——爬取信息

    大数据Python爬取B站电影排行榜-信息爬取 前言 一.配置环境 二.爬取B站电影排行榜top100 1.找到B站电影排行榜top100网页 2.用URL进行爬取信息 三.建立Excel表并导出 总 ...

  6. easyui datalist 不显示数据_爬虫练习——豆瓣电影信息爬取及数据可视化

    最近自学了简单的爬虫项目,简单记录下自己的小白学习路径. 本次爬取的是豆瓣电影TOP250数据,主要用到beautifulsoup.re.urllib库.SQLite包,数据可视化方面主要用到flas ...

  7. 豆瓣电影评论爬取+情感分析+词云

    基于b站up主的视频 https://www.bilibili.com/video/BV18C4y1H7mr?t=1444 进行了优化 整合到一个main.py文件中函数式运行 自动化数据清洗 提供了 ...

  8. 爬虫实战——豆瓣电影短评爬取

    目录 一.任务概述 心路历程 方案制定 二.正式开工 准备工作 处理 json 数据获取电影 id 处理短评 html 源码 三.全部代码 用Access后续处理 一.任务概述 爬取豆瓣电影中2020 ...

  9. 豆瓣电影top25爬取

    import requests import lxml.etree as le import pandas as pd headers = { 'user-agent': 'Mozilla/5.0 ( ...

最新文章

  1. 从产品的适用性以及费用方面考虑
  2. android 背景切换动画效果代码,关于Android shape gradient背景渐变
  3. SpringBoot第二十三篇: 异步方法
  4. WebPart(汇总)[转载]
  5. format 转化时间格式不起作用
  6. 杭州「增长黑客」集结令!曲卉老师想约你来网易聊一聊
  7. Go语言操作MySQL
  8. SYNCHRONIZE_DRAIN的用处
  9. 设定所有tableView中cell的分隔线颜色
  10. 厉害,刚刚官方宣布 IntelliJ IDEA 2020.2 EAP4发布了!
  11. 非常经典的java编程题全集-共50题(1-10)
  12. VINS_Fusion学习01——官方教程翻译解读
  13. 如何识别服务器网站有病毒,网站有病毒怎么解决?
  14. canvas实现虚线带箭头效果
  15. 官方指南:小米手机微信双开
  16. linux的XDG(X Desktop Group)基本目录规范
  17. dell服务器系统备份软件,使用 AlienRespawn 备份 Alienware 电脑的系统
  18. 网站开发-php开发手机论坛(11)-用户中心
  19. ch341a编程器写操作超时失败
  20. 28岁转行程序员?别想了、没戏。事实真就如此残酷?

热门文章

  1. HTMLCSS常用英语词汇
  2. 《高数》基本初等函数 反对幂三指 (二)
  3. 因式分解结合最近邻:多层面的协同过滤模型
  4. 1.已知长方形的长和宽,求长方形的周长和面积。
  5. 软工结对项目——地铁
  6. 西西吹雪:从程序员到项目经理(二)
  7. 不懂优雅停机,搞挂了线上服务,咋办?
  8. Java秒杀系统实战系列~JMeter压力测试重现秒杀场景中超卖等问题
  9. 弘辽科技:淘宝站外引流的方法有哪些?淘宝商家要知道!
  10. 跨境电商亚马逊卖家最需要关注的四个维度的数据