python爬取豆瓣電影之影視電影分析

                        python爬取豆瓣電影之影視電影分析

1.獲取url

   打開獲取數據網頁-->右鍵檢查-->進到如下界面-->找如下json類型的url網址(key:value)

  2.查看Headers部分,獲取url,這個url就是你爬取數據源頭 

3.分析url的參數:

  https://movie.douban.com/j/search_subjects?type=tv&tag=%E7%83%AD%E9%97%A8&sort=recommend&page_limit=20&page_start=0

 start=0: 表示從第一個電影開始查詢

 limit=20: 表示每一次查詢20部電影

 type: 表示影視類型

因此你如果要爬取更多類型的數據,就可以更改type就可以了,我們在這兒僅僅爬取"熱門"類型的數據

此外,我們還需要headers部分的下面的倆個數據

4.python代碼展示:  需要的模塊,requests/json

import requests
import json


headers={

"Referer": "https://movie.douban.com/tv/",    

"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36"

}
#我們在這爬取前120部影視劇的信息,start=0;每次查詢20部,查詢6次

i=0

while(i<=120):
    #更改start的數據,逐步爬取每一頁的數據 (0,20,40,60....120)
    url = "https://movie.douban.com/j/search_subjects?                
         type=tv&tag=%E7%83%AD%E9%97%A8&sort=recommend&page_limit=20&page_start={}"  
 
    url = url.format(repr(i))   #格式化start
    print(url)
    response = requests.get(url,headers=headers) #requests作為python爬取的工具
    str = response.content.decode("utf-8") # 返回的是一個字符串
    print(str)

    #我們需要將str轉化成json數據進行提取你需要的數據

    json_dict = json.loads(str) #返回的是一個字典類型的json數據

    #我們要提取的數據有: id titile url rate cover_x這幾部分數據

    list = json_dict["subjects"] #輸出json_dict可以到subjects對應的value是一個序列,序列中存    
                                                               放的是字典類型,可以提取數據
    for l in list:
        print(repr(l["id"]) + repr(l["title"]) + repr(l["url"]) + repr(l["rate"]) +         
            repr(l["cover_x"]))
        #將提取的數據寫入到文件中
        with open("douban2.txt","a",encoding="utf-8") as f:
        f.write(repr(l["id"]) + "\t" + repr(l["title"]) + "\t" + repr(l["url"]) +
                        "\t" + repr(l["rate"]) + "\t" + repr(l["cover_x"]) + "\n")

    i+=20

5.輸出結果顯示:

猜你喜欢

转载自blog.csdn.net/qq_42482484/article/details/82193504
今日推荐