python3豆瓣电影排行榜爬取
项目目标:
爬取豆瓣电影排行榜top250
项目分析:
打开豆瓣电影排行榜网址(以下分别是前三页的网址),由此我们判断只需更改"start=**"的数值既可遍历整个排行榜。
- https://movie.douban.com/top250?
- https://movie.douban.com/top250?start=25&filter=
- 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豆瓣电影排行榜爬取相关推荐
- JAVA爬虫(一):豆瓣电影排行榜爬取
JAVA爬虫(一):豆瓣电影排行榜爬取 前言 流程图 步骤 一.爬取豆瓣电影榜单网页源代码 二.网页源码解析 三.爬取单个电影网页源码 四.源代码解析及关键信息获取 前言 最近和大创队友一起给大创做的 ...
- Colly实现豆瓣电影Top250爬取
使用 Colly 实现 豆瓣电影Top250爬取 package mainimport ("encoding/csv""github.com/PuerkitoBio/go ...
- 豆瓣电影影评爬取---最受欢迎的影评[xpath语法]
豆瓣电影影评爬取---最受欢迎的影评[xpath语法] 1.基础环境配置: requests-->版本:2.12.4 lxml-->版本:3.7.2 2.爬取网址:https://movi ...
- python爬取豆瓣电影top250_Python 爬取豆瓣电影Top250排行榜,爬虫初试
from bs4 import BeautifulSoup import openpyxl import re import urllib.request import urllib.error # ...
- 大数据Python爬取B站电影排行榜——爬取信息
大数据Python爬取B站电影排行榜-信息爬取 前言 一.配置环境 二.爬取B站电影排行榜top100 1.找到B站电影排行榜top100网页 2.用URL进行爬取信息 三.建立Excel表并导出 总 ...
- easyui datalist 不显示数据_爬虫练习——豆瓣电影信息爬取及数据可视化
最近自学了简单的爬虫项目,简单记录下自己的小白学习路径. 本次爬取的是豆瓣电影TOP250数据,主要用到beautifulsoup.re.urllib库.SQLite包,数据可视化方面主要用到flas ...
- 豆瓣电影评论爬取+情感分析+词云
基于b站up主的视频 https://www.bilibili.com/video/BV18C4y1H7mr?t=1444 进行了优化 整合到一个main.py文件中函数式运行 自动化数据清洗 提供了 ...
- 爬虫实战——豆瓣电影短评爬取
目录 一.任务概述 心路历程 方案制定 二.正式开工 准备工作 处理 json 数据获取电影 id 处理短评 html 源码 三.全部代码 用Access后续处理 一.任务概述 爬取豆瓣电影中2020 ...
- 豆瓣电影top25爬取
import requests import lxml.etree as le import pandas as pd headers = { 'user-agent': 'Mozilla/5.0 ( ...
最新文章
- 从产品的适用性以及费用方面考虑
- android 背景切换动画效果代码,关于Android shape gradient背景渐变
- SpringBoot第二十三篇: 异步方法
- WebPart(汇总)[转载]
- format 转化时间格式不起作用
- 杭州「增长黑客」集结令!曲卉老师想约你来网易聊一聊
- Go语言操作MySQL
- SYNCHRONIZE_DRAIN的用处
- 设定所有tableView中cell的分隔线颜色
- 厉害,刚刚官方宣布 IntelliJ IDEA 2020.2 EAP4发布了!
- 非常经典的java编程题全集-共50题(1-10)
- VINS_Fusion学习01——官方教程翻译解读
- 如何识别服务器网站有病毒,网站有病毒怎么解决?
- canvas实现虚线带箭头效果
- 官方指南:小米手机微信双开
- linux的XDG(X Desktop Group)基本目录规范
- dell服务器系统备份软件,使用 AlienRespawn 备份 Alienware 电脑的系统
- 网站开发-php开发手机论坛(11)-用户中心
- ch341a编程器写操作超时失败
- 28岁转行程序员?别想了、没戏。事实真就如此残酷?