请求头
重要的是
user-agent
和Host
headers = {
'user-agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36',
'Host': 'movie.douban.com'
}
url
第一页
https://movie.douban.com/top250
https://movie.douban.com/top250?start=0 也一样
第二页
https://movie.douban.com/top250?start=25&filter=
第十页(最后一页)
可以发现url规律是
https://movie.douban.com/top250?start=25*index
对第一页也成立
拿到html
import requests
def get_movies():
# 浏览器复制出来的头
headers = {
'user-agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36',
'Host': 'movie.douban.com'
}
for i in range(0, 10): # 10页 每页25个
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)
print (str(i+1),"页内容:", r.text)
html里面提取出电影名
<div class="hd">
<a href="https://movie.douban.com/subject/1292052/" class="">
<span class="title">肖申克的救赎</span>
<span class="title"> / The Shawshank Redemption</span>
<span class="other"> / 月黑高飞(港) / 刺激1995(台)</span>
</a>
<span class="playable">[可播放]</span>
</div>
movie_list = []
#.....
for i in range(0, 10): # 10页 每页25个
# ....
# 从HTML 里面解析出需要的电影名字
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
全部代码
import requests
from bs4 import BeautifulSoup
def get_movies():
# 浏览器复制下来的头
headers = {
'user-agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36',
'Host': 'movie.douban.com'
}
movie_list = []
for i in range(0,10): # 一共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 (movie_list)
结果
1 页响应状态码: 200
2 页响应状态码: 200
3 页响应状态码: 200
4 页响应状态码: 200
5 页响应状态码: 200
6 页响应状态码: 200
7 页响应状态码: 200
8 页响应状态码: 200
9 页响应状态码: 200
10 页响应状态码: 200
['肖申克的救赎', '这个杀手不太冷', '霸王别姬', '阿甘正传', '美丽人生', '千与千寻', '辛德勒的名单', '泰坦尼克号', '盗梦空间', '机器人总动员', '海上钢琴师', '三傻大闹宝莱坞', '忠犬八公的故事', '放牛班的春天', '大话西游之大圣娶亲', '教父', '龙猫', '楚门的世界', '乱世佳人', '天堂电影院', '当幸福来敲门', '触不可及', '搏击俱乐部', '十二怒汉', '无间道', '熔炉', '指环王3:王者无敌', '怦然心动', '天空之城', '罗马假日', '少年派的奇幻漂流', '鬼子来了', '大话西游之月光宝盒', '星际穿越', '蝙蝠侠:黑暗骑士', '两杆大烟枪', '飞屋环游记', '活着', '窃听风暴', '飞越疯人院', '海豚湾', '闻香识女人', 'V字仇杀队', '美丽心灵', '教父2', '哈尔的移动城堡', '指环王2:双塔奇兵', '指环王1:魔戒再现', '天使爱美丽', '情书', '死亡诗社', '美国往事', '七宗罪', '钢琴家', '狮子王', '控方证人', '辩护人', '被嫌弃的松子的一生', '致命魔术', '勇敢的心', '剪刀手爱德华', '饮食男女', '小鞋子', '音乐之声', '低俗小说', '入殓师', '本杰明·巴顿奇事', '沉默的羔羊', '蝴蝶效应', '黑客帝国', '拯救大兵瑞恩', '素媛', '西西里的美丽传说', '玛丽和马克思', '心灵捕手', '幽灵公主', '第六感', '阳光灿烂的日子', '让子弹飞', '春光乍泄', '大鱼', '大闹天宫', '射雕英雄传之东成西就', '重庆森林', '阳光姐妹淘', '上帝之城', '甜蜜蜜', '禁闭岛', '致命ID', '告白', '一一', '疯狂动物城', '加勒比海盗', '狩猎', '爱在黎明破晓前', '布达佩斯大饭店', '阿凡达', '断背山', '风之谷', '摩登时代', '萤火虫之墓', '猫鼠游戏', '爱在日落黄昏时', '末代皇帝', '侧耳倾听', '哈利·波特与魔法石', '驯龙高手', '超脱', '海洋', '幸福终点站', '穿条纹睡衣的男孩', '菊次郎的夏天', '燃情岁月', '消失的爱人', '倩女幽魂', '神偷奶爸', '电锯惊魂', '谍影重重3', '岁月神偷', '真爱至上', '借东西的小人阿莉埃蒂', '雨人', '七武士', '恐怖直播', '虎口脱险', '贫民窟的百万富翁', '东邪西毒', '记忆碎片', '杀人回忆', '疯狂原始人', '红辣椒', '怪兽电力公司', '卢旺达饭店', '黑天鹅', '穿越时空的少女', '魂断蓝桥', '恋恋笔记本', '猜火车', '喜宴', '英雄本色', '雨中曲', '傲慢与偏见', '小森林 夏秋篇', '喜剧之王', '教父3', '完美的世界', '纵横四海', '玩具总动员3', '萤火之森', '人工智能', '我是山姆', '浪潮', '香水', '冰川时代', '7号房的礼物', '哈利·波特与死亡圣器(下)', '撞车', '花样年华', '追随', '朗读者', '一次别离', '碧海蓝天', '罗生门', '秒速5厘米', '荒蛮故事', '梦之安魂曲', '战争之王', '可可西里', '心迷宫', '时空恋旅人', '唐伯虎点秋香', '超能陆战队', '地球上的星星', '海盗电台', '蝙蝠侠:黑暗骑士崛起', '谍影重重2', '谍影重重', '小森林 冬春篇', '阿飞正传', '恐怖游轮', '迁徙的鸟', '荒野生存', '惊魂记', '达拉斯买家俱乐部', '勇闯夺命岛', '绿里奇迹', '魔女宅急便', '爆裂鼓手', '未麻的部屋', '再次出发之纽约遇见你', '卡萨布兰卡', '东京物语', '燕尾蝶', '牯岭街少年杀人事件', '被解救的姜戈', '这个男人来自地球', '末路狂花', '变脸', '英国病人', '终结者2:审判日', '忠犬八公物语', 'E.T. 外星人', '叫我第一名', '哪吒闹海', '青蛇', '发条橙', '源代码', '黄金三镖客', '黑客帝国3:矩阵革命', '穆赫兰道', '新龙门客栈', '非常嫌疑犯', '美国丽人', '城市之光', '上帝也疯狂', '无耻混蛋', '初恋这件小事', '勇士', '爱·回家', '蓝色大门', '曾经', '无敌破坏王', '暖暖内含光', '麦兜故事', '模仿游戏', '大卫·戈尔的一生', '蝴蝶', '血钻', '国王的演讲', '遗愿清单', '与狼共舞', '巴黎淘气帮', '荒岛余生', '偷拐抢骗', '夜访吸血鬼', '爱在午夜降临前', '疯狂的石头', '枪火', '千钧一发', '月球', '爱在暹罗', '中央车站', '寿司之神', '我爱你', '罪恶之城', '廊桥遗梦', '两小无猜', '彗星来的那一夜', '黑鹰坠落', '假如爱有天意']