請求頭
重要的是
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=
第十頁(最后一頁)
可以發(fā)現(xiàn)url規(guī)律是
https://movie.douban.com/top250?start=25*index
對第一頁也成立
拿到html
import requests
def get_movies():
# 瀏覽器復(fù)制出來的頭
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),"頁響應(yīng)狀態(tài)碼:", r.status_code)
print (str(i+1),"頁內(nèi)容:", r.text)
html里面提取出電影名
<div class="hd">
<a 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():
# 瀏覽器復(fù)制下來的頭
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),"頁響應(yīng)狀態(tài)碼:", 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)
結(jié)果
1 頁響應(yīng)狀態(tài)碼: 200
2 頁響應(yīng)狀態(tài)碼: 200
3 頁響應(yīng)狀態(tài)碼: 200
4 頁響應(yīng)狀態(tài)碼: 200
5 頁響應(yīng)狀態(tài)碼: 200
6 頁響應(yīng)狀態(tài)碼: 200
7 頁響應(yīng)狀態(tài)碼: 200
8 頁響應(yīng)狀態(tài)碼: 200
9 頁響應(yīng)狀態(tài)碼: 200
10 頁響應(yīng)狀態(tài)碼: 200
['肖申克的救贖', '這個殺手不太冷', '霸王別姬', '阿甘正傳', '美麗人生', '千與千尋', '辛德勒的名單', '泰坦尼克號', '盜夢空間', '機(jī)器人總動員', '海上鋼琴師', '三傻大鬧寶萊塢', '忠犬八公的故事', '放牛班的春天', '大話西游之大圣娶親', '教父', '龍貓', '楚門的世界', '亂世佳人', '天堂電影院', '當(dāng)幸福來敲門', '觸不可及', '搏擊俱樂部', '十二怒漢', '無間道', '熔爐', '指環(huán)王3:王者無敵', '怦然心動', '天空之城', '羅馬假日', '少年派的奇幻漂流', '鬼子來了', '大話西游之月光寶盒', '星際穿越', '蝙蝠俠:黑暗騎士', '兩桿大煙槍', '飛屋環(huán)游記', '活著', '竊聽風(fēng)暴', '飛越瘋?cè)嗽?, '海豚灣', '聞香識女人', 'V字仇殺隊', '美麗心靈', '教父2', '哈爾的移動城堡', '指環(huán)王2:雙塔奇兵', '指環(huán)王1:魔戒再現(xiàn)', '天使愛美麗', '情書', '死亡詩社', '美國往事', '七宗罪', '鋼琴家', '獅子王', '控方證人', '辯護(hù)人', '被嫌棄的松子的一生', '致命魔術(shù)', '勇敢的心', '剪刀手愛德華', '飲食男女', '小鞋子', '音樂之聲', '低俗小說', '入殮師', '本杰明·巴頓奇事', '沉默的羔羊', '蝴蝶效應(yīng)', '黑客帝國', '拯救大兵瑞恩', '素媛', '西西里的美麗傳說', '瑪麗和馬克思', '心靈捕手', '幽靈公主', '第六感', '陽光燦爛的日子', '讓子彈飛', '春光乍泄', '大魚', '大鬧天宮', '射雕英雄傳之東成西就', '重慶森林', '陽光姐妹淘', '上帝之城', '甜蜜蜜', '禁閉島', '致命ID', '告白', '一一', '瘋狂動物城', '加勒比海盜', '狩獵', '愛在黎明破曉前', '布達(dá)佩斯大飯店', '阿凡達(dá)', '斷背山', '風(fēng)之谷', '摩登時代', '螢火蟲之墓', '貓鼠游戲', '愛在日落黃昏時', '末代皇帝', '側(cè)耳傾聽', '哈利·波特與魔法石', '馴龍高手', '超脫', '海洋', '幸福終點(diǎn)站', '穿條紋睡衣的男孩', '菊次郎的夏天', '燃情歲月', '消失的愛人', '倩女幽魂', '神偷奶爸', '電鋸驚魂', '諜影重重3', '歲月神偷', '真愛至上', '借東西的小人阿莉埃蒂', '雨人', '七武士', '恐怖直播', '虎口脫險', '貧民窟的百萬富翁', '東邪西毒', '記憶碎片', '殺人回憶', '瘋狂原始人', '紅辣椒', '怪獸電力公司', '盧旺達(dá)飯店', '黑天鵝', '穿越時空的少女', '魂斷藍(lán)橋', '戀戀筆記本', '猜火車', '喜宴', '英雄本色', '雨中曲', '傲慢與偏見', '小森林 夏秋篇', '喜劇之王', '教父3', '完美的世界', '縱橫四海', '玩具總動員3', '螢火之森', '人工智能', '我是山姆', '浪潮', '香水', '冰川時代', '7號房的禮物', '哈利·波特與死亡圣器(下)', '撞車', '花樣年華', '追隨', '朗讀者', '一次別離', '碧海藍(lán)天', '羅生門', '秒速5厘米', '荒蠻故事', '夢之安魂曲', '戰(zhàn)爭之王', '可可西里', '心迷宮', '時空戀旅人', '唐伯虎點(diǎn)秋香', '超能陸戰(zhàn)隊', '地球上的星星', '海盜電臺', '蝙蝠俠:黑暗騎士崛起', '諜影重重2', '諜影重重', '小森林 冬春篇', '阿飛正傳', '恐怖游輪', '遷徙的鳥', '荒野生存', '驚魂記', '達(dá)拉斯買家俱樂部', '勇闖奪命島', '綠里奇跡', '魔女宅急便', '爆裂鼓手', '未麻的部屋', '再次出發(fā)之紐約遇見你', '卡薩布蘭卡', '東京物語', '燕尾蝶', '牯嶺街少年殺人事件', '被解救的姜戈', '這個男人來自地球', '末路狂花', '變臉', '英國病人', '終結(jié)者2:審判日', '忠犬八公物語', 'E.T. 外星人', '叫我第一名', '哪吒鬧海', '青蛇', '發(fā)條橙', '源代碼', '黃金三鏢客', '黑客帝國3:矩陣革命', '穆赫蘭道', '新龍門客棧', '非常嫌疑犯', '美國麗人', '城市之光', '上帝也瘋狂', '無恥混蛋', '初戀這件小事', '勇士', '愛·回家', '藍(lán)色大門', '曾經(jīng)', '無敵破壞王', '暖暖內(nèi)含光', '麥兜故事', '模仿游戲', '大衛(wèi)·戈爾的一生', '蝴蝶', '血鉆', '國王的演講', '遺愿清單', '與狼共舞', '巴黎淘氣幫', '荒島余生', '偷拐搶騙', '夜訪吸血鬼', '愛在午夜降臨前', '瘋狂的石頭', '槍火', '千鈞一發(fā)', '月球', '愛在暹羅', '中央車站', '壽司之神', '我愛你', '罪惡之城', '廊橋遺夢', '兩小無猜', '彗星來的那一夜', '黑鷹墜落', '假如愛有天意']