爬虫——豆瓣top250电影爬取实验
1.获取头部
我们首先需要去到目标网址豆瓣top250上,点开‘检查’选项,获取头部信息,具体见下图:
我们赋值user-agent和host的信息,这是一个爬虫隐身的最好方法。
于是有以下代码:
headers = {'user-agent' : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.111 Safari/537.36','Host' : 'movie.douban.com'
}
2.访问网页,发现规律
我们发现,250个top电影分成10页,每页的url都是有规律的,就是最后的start不同,我们可以发现url的规律为:
link = 'https://movie.douban.com/top250?start=' + str(i * 25)
随后,我们通过查看状态码,检查访问的状态:
r = requests.get(link, headers=headers, timeout=10)print(str(i+1),"页响应状态码:", r.status_code)
3.解析网页,获取信息
首先,我们需要用soup将r.text转成html格式:
soup = BeautifulSoup(r.text,"lxml")#解析出网站的html代码
其次,我们需要根据所需信息找出指定div样式的class,我们发现标题的class均为hd,因此代码如下:
div_list = soup.find_all('div', class_='hd')# 获取指定class样式的div
最后,遍历div_list,逐页获取top250电影名称:
for each in div_list:movie = each.a.span.text.strip()#将电影名字爬下来movie_list.append(movie)
4.整体代码和实验结果
import requests
from bs4 import BeautifulSoupdef get_movies():headers = {'user-agent' : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.111 Safari/537.36','Host' : 'movie.douban.com'
} movie_list = []for i in range(0, 10):link = 'https://movie.douban.com/top250?start=' + str(i * 25)r = requests.get(link, headers=headers, timeout=10)print(str(i+1),"页响应状态码:", r.status_code) soup = BeautifulSoup(r.text,"lxml")div_list = soup.find_all('div', class_='hd')for each in div_list:movie = each.a.span.text.strip()movie_list.append(movie)return movie_listmovies=get_movies()
print(movies)
6.总结
爬虫我刚刚入门,只是了解个皮毛,这里稍微总结一下它的步骤:
1.通过检查获取headers
2.request一下,并用lxml解析成html格式
3.通过soup,以及观察html的内容格式,找到所需的list
4.将list中的文本内容抓取下来并记录
爬虫——豆瓣top250电影爬取实验相关推荐
- python爬虫 豆瓣影评的爬取cookies实现自动登录账号
python爬虫 豆瓣影评的爬取cookies实现自动登录账号 频繁的登录网页会让豆瓣锁定你的账号-- 网页请求 使用cookies来实现的自动登录账号,这里的cookies因为涉及到账号我屏蔽了,具 ...
- 爬虫豆瓣TOP250电影数据
今天是开通博客的第一天 目的 记录 爬取豆瓣TOP250电影数据 目的 我写博客的目的很简单,主要是想记录一些自己学习python的历程,后期包括一些其他方面的学习,目前在看唐松老师写的<Pyt ...
- python爬虫教材推荐 豆瓣_Python爬虫入门教程:豆瓣Top电影爬取
基本开发环境Python 3.6 Pycharm 相关模块的使用requests parsel csv 安装Python并添加到环境变量,pip安装需要的相关模块即可. 爬虫基本思路 一.明确需求 爬 ...
- python selenium爬虫豆瓣_Scrapy+Selenium爬取豆瓣电影评论
首先需要对目标网站进行分析,具体的分析这里不详细介绍.目标网站:豆瓣某个电影评论页面 https://movie.douban.com/subject/1292052/reviews,这个电影是肖申克 ...
- qt爬取网页信息_豆瓣TOP250数据爬取
一.问题描述 用python爬取网页数据是现在流行的一种快速获取数据的方法,简单快捷.最近小编通过教程学习完成了豆瓣TOP250数据的爬取.下面就简单介绍一下如何用python程序实现豆瓣网页信息的爬 ...
- 豆瓣top250图书爬取
爬取网站为:豆瓣链接 from bs4 import BeautifulSoup import requests from openpyxl import Workbook excel_name = ...
- Python爬虫实战之电影爬取过程
俗话说,兴趣所在,方能大展拳脚.so结合兴趣的学习才能事半功倍,更加努力专心,apparently本次任务是在视频网站爬取一些好看的小电影,地址不放(狗头保命)只记录过程. 实现功能: 从网站上爬取采 ...
- 第一个爬虫——豆瓣新书信息爬取
本文记录了我学习的第一个爬虫程序的过程.根据<Python数据分析入门>一书中的提示和代码,对自己的知识进行查漏补缺. 在上爬虫程序之前补充一个知识点:User-Agent.它是Http协 ...
- [python爬虫] BeautifulSoup和Selenium对比爬取豆瓣Top250电影信息
这篇文章主要对比BeautifulSoup和Selenium爬取豆瓣Top250电影信息,两种方法从本质上都是一样的,都是通过分析网页的DOM树结构进行元素定位,再定向爬取具体的电影信息,通过代码的对 ...
最新文章
- html5圆形图片轮播,jQuery超酷响应式圆形图片轮播图特效
- SQL XQuery的Action
- WebForm(文件上传)
- jQuery之文本框得失焦点
- 《iVX 高仿美团APP制作移动端完整项目》02 搜索、搜索提示及类别需求分析思路及制作流程
- mysql复制的工作原理及主从复制的实现
- linux系统扩展名大全,Linux系统文件扩展名学习
- 基于Python+tkinter+pygame的音乐播放器完整源码
- [Bootstrap]7天深入Bootstrap(1)入门准备
- linux htop详细功能
- 在网页中显示某个目录文件(未成功)
- Python颜色空间转换(sRGB,AdobeRGB,CIE XYZ,Lab,HSV互转)
- 计算机电子报模板,计算机辅助电气电子线路设计课程设计设计报告排版模板(WIT).doc...
- c语言多个大写变小写字母,c语言大写字母转换成小写字母
- 关于如何设置网页自动切换背景图片
- 屈原·渔父的算法追求
- 计算机组成原理MVRD,计算机组成原理实验
- JAVA 面试知识点(个人总结)
- android设置高度比例,android开发layout按比例布局(详解)
- 憨批的语义分割重制版7——Tensorflow2 搭建自己的Unet语义分割平台
热门文章
- android桌面壁纸以及快捷方式(上)
- turtlebot matlab,Turtlebot与Matlab入门教程-控制小海龟
- 小白学做网云小程序笔记(1)
- 第四次考核 Jimmy 学徒考核 Linux安装软件 rnaseq上游分析-2 ascp kingfisher数据下载ena Linux高速下载 Linux下载网页内容
- Intel Management Engine, Explained: The Tiny Computer Inside Your CPU
- softAP下的踩坑笔记
- 全站课-阶段二(Java SpringBoot API打造高级电商业务后端)
- PE文件格式详细解析(二)
- 数据库建模和设计的总结
- 大数据知识(六):Hadoop练习