【网络数据采集】python爬取豆瓣top250电影目录
2023-09-14 09:12:45 时间
当你找不到电影看的时候,收藏此篇,方便看。
import requests
from bs4 import BeautifulSoup
def get_movies():
headers = {
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.5005.63 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_list
movies = get_movies()
print(movies)
我们一点一点的来解析一下:
1,获取网页响应头
打开Google Chrome,输入网址:豆瓣电影 Top 250https://movie.douban.com/top250在页面右键点击检查
进入下面的控制台中,按以下步骤,如果点击All,发现没有东西,可以点击Ctrl+R:
Request 获取方式为GET,Status Code输出200,状态码正常,获得
User-Agent:
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36
第一页的网址为:https://movie.douban.com/top250
第二页的网址为:https://movie.douban.com/top250?start=25&filter=
第三页的网址为:https://movie.douban.com/top250?start=50&filter=
我们可以看到在start后面是以此增加25,网页我们就可以以这样的办法来表示:
'https://movie.douban.com/top250?start=' + str(i * 25)
我们添加上页响应状态码,方便观察爬取进度:
str(i+1), "页响应状态码:", r.status_code
如下图显示:
右键点击网页源码:
最后将得到的电影目录放进列表中,得到:
相关文章
- Python面试基础知识_python自学需要哪些基础知识
- pycharm打包python项目_Python怎么打包
- python——正则表达式(re模块)详解
- python jieba库_Python jieba库的使用说明「建议收藏」
- (二)Python的应用领域
- python教程:用简单的Python编写Web应用程序
- java与python-如何对比Python和Java,只需三分钟告诉你!
- Python抓取数据_python抓取游戏数据
- 【说站】python函数定义的规则
- python退出程序
- 电子商城网站平台(python+vue)可用作毕业设计+系统设计
- 网络工程师学Python-18-数学运算方法
- python-Python与MongoDB数据库-处理MongoDB查询结果
- python-Python与PostgreSQL数据库-PostgreSQL数据库的基本知识(一)
- 网络工程师学Python-23-命令行输入input()
- Python函数值传递和引用传递(包括形式参数和实际参数的区别)
- Python学习案例详解编程语言
- Python模块是什么(超级详细)
- Python操作Redis实现数据持久化(python操作redis)
- Python内存管理介绍
- 如何在Linux中安装Python?(linux安装python)
- 用Python仿写MSSQL 编程体验更有趣(python仿mssql)
- Python实现MySQL数据库的读取(python读取mysql)
- Python爬取MySQL数据,助力数据分析(python读取mysql数据)
- Python网络编程起步(Socket发送消息)
- Python中的Function定义方法
- python实现的一只从百度开始不断搜索的小爬虫
- 浅析python中__name__='__main__'的作用
- Python中变量交换的例子