自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Python爬蟲實戰(zhàn)之豆瓣音樂、微打賞、陽光電影(附代碼)

開發(fā) 后端
本文作者分享了通過Python代碼爬取豆瓣音樂、微打賞、陽光電影網(wǎng)站的過程,喜歡爬蟲的伙伴們過來看看吧。

[[216723]]

一、豆瓣音樂

今天爬的是豆瓣音樂top250,比較簡單,主要是練練手。

1、加了請求頭,本來沒加,調(diào)試幾次突然沒數(shù)據(jù)了,加了請求頭開始也沒好,后來又好了,可能是網(wǎng)絡(luò)原因;

2、這次是進(jìn)入信息頁爬的數(shù)據(jù),上次爬電影沒采用這種方法,缺少了部分?jǐn)?shù)據(jù);

3、數(shù)據(jù)的預(yù)處理用了很多if函數(shù)

數(shù)據(jù)分析

1、部分?jǐn)?shù)據(jù)可以見上圖

2、中國音樂作者還是很多的。

3、隨著音樂設(shè)備和網(wǎng)絡(luò)的普及,流行音樂的發(fā)展,可以看出2000年后作品越來越多,到2010年又積極下滑(經(jīng)典就是經(jīng)典,無法吐槽現(xiàn)在的音樂)

4、風(fēng)格大家可以看出流行,搖滾,民謠占了一大半。

5、最后弄了一首周董的《不能說的秘密》做詞云,想想小時候都是回憶啊。

代碼片段

  1. import requests 
  2. import re 
  3. from bs4 import BeautifulSoup 
  4. import time 
  5. import pymongo 
  6. client = pymongo.MongoClient('localhost', 27017) 
  7. douban = client['douban'
  8. musictop = douban['musictop'
  9. headers = {    
  10. 'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36' 
  11. urls = ['https://music.douban.com/top250?start={}'.format(str(i)) for  i  in  range 250 25 )] 
  12. def  get_url_music url ): 
  13.     wb_data   requests get url headers headers 
  14.     soup    BeautifulSoup wb_data text 'lxml' 
  15.     music_hrefs   soup select 'a.nbg' 
  16.      
  17. for  music_href  in  music_hrefs 
  18.         get_music_info music_href 'href' ]) 
  19.         time sleep  

二、微打賞

網(wǎng)站分析

打開網(wǎng)站,翻頁網(wǎng)頁不變,看看是post的請求,很好辦,直接把參數(shù)懟進(jìn)去,這里只要切換page就能進(jìn)行翻頁。 

json格式,這里post返回的是json數(shù)據(jù),解析json數(shù)據(jù)就行,小技巧:看preview,解析起來嗖嗖噠。這里需要提取活動的名稱,id和參與打賞的人數(shù)。這個后面詳細(xì)頁用的到。

 

詳細(xì)頁,依舊是post,依舊是json數(shù)據(jù),這里的參數(shù)pro_id為之前的爬取的id,這一頁20個信息,通過前面的參與打賞人數(shù)構(gòu)造出有多少頁,繼續(xù)懟參數(shù)。 

 

代碼片段 

 

  1. import  requests 
  2.  
  3. import  json 
  4.  
  5. import  math 
  6.  
  7. def  get_sup_info  url page ): 
  8.   
  9. params 
  10.  
  11. 'ajaxtype'          
  12.  
  13. 'page' page          
  14.  
  15. 'category'          
  16.  
  17. 'pageSize'     
  18.  
  19.  
  20.   cookies         
  21.  
  22. 'User-Agent' 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.133 Safari/537.36'          
  23.  
  24. 'Cookie''acw_tc=AQAAAKLQ3U/WTAYAggq7PZ24WOlm9vQW; PHPSESSID=r0nbvk7hppjftegk4fpt9cu535; _uab_collina=150094753858198811653567; mdswv=v1.0; mdsa=MD-STICS-5976a44746eca; mdss=6-o; mdsf=md; mdsff=www_so_com; 
  25.  
  26.     } 
  27.  
  28.     html = requests.post(url, data=params, headers=cookies) 
  29.  
  30.     json_data = json.loads(html.text) 
  31.  
  32.     des = json_data[' des '] 
  33.  
  34.     for data in des: 
  35.  
  36.         name = data['  name '] 
  37.  
  38.         id = data[' id '] 
  39.  
  40.         pay_count = data[' pay_count '] 
  41.  
  42.         all_page = math.ceil(int(pay_count)/20) 
  43.  
  44.         for i in range(1,int(all_page)+1): 
  45.  
  46.             get_app_info(i,id,name

 

三、陽光電影 

爬蟲分析 

這里涉及跨頁的爬取,需要理清爬蟲的思路。首先打開網(wǎng)站,需爬取前11個分類的電影數(shù)據(jù),經(jīng)典影片格式不一樣,爬蟲時過濾掉了。

 

進(jìn)入電影列表頁后,正則爬取頁數(shù)和電影的分類標(biāo)簽,以此構(gòu)造分頁url,然后爬取電影的名字和url。 

最后在詳細(xì)頁爬取電影的下載地址,爬取結(jié)果如下: 

 

代碼片段 

 

  1. import requests 
  2.  
  3. import re 
  4.  
  5. from lxml import etree 
  6.  
  7. import csv 
  8.  
  9. def get_resource(url,cate_name,cate_url,movie_name): 
  10.  
  11.     res = requests.get(url)    
  12.  
  13.     res.encoding = 'gb2312' 
  14.  
  15.     html = etree.HTML(res.text) 
  16.  
  17.     movie_resource = html.xpath('//tbody//tr/td/a/text()')[0] 
  18.  
  19.     writer.writerow((cate_name,cate_url,movie_name,url,movie_resource))     
  20.  
  21.     print(movie_resource)  

 

責(zé)任編輯:龐桂玉 來源: Python中文社區(qū)
相關(guān)推薦

2018-01-02 16:30:27

Python爬蟲微博移動端

2020-12-24 08:18:52

微信微信直播微信豆

2021-04-16 08:02:05

Python下載音樂Python基礎(chǔ)

2017-09-18 15:09:42

蘋果

2018-03-20 14:40:58

Python爬蟲豆瓣影評

2013-11-06 11:29:39

PhoneGap

2021-11-08 14:38:50

框架Scrapy 爬蟲

2021-11-09 09:46:09

ScrapyPython爬蟲

2017-06-14 15:20:43

Python爬蟲BeautifulSo

2012-06-28 20:34:59

極速WiFi渦流電波WiFi

2020-08-25 19:40:35

蘋果微信iPhone

2017-08-22 17:30:14

Python爬蟲

2014-07-29 11:20:28

Swift豆瓣電臺編程實戰(zhàn)

2020-09-17 13:20:59

Python網(wǎng)絡(luò)爬蟲電影

2021-06-02 22:18:11

Python關(guān)鍵詞微博

2018-05-23 12:34:39

Python網(wǎng)絡(luò)爬蟲豆瓣電影

2021-03-18 09:18:12

python爬蟲

2018-12-05 13:59:45

電影分析爬蟲

2024-07-30 16:36:11

點贊
收藏

51CTO技術(shù)棧公眾號