1. 程式人生 > >Python爬蟲實戰(3)-爬取豆瓣音樂Top250資料(超詳細)

Python爬蟲實戰(3)-爬取豆瓣音樂Top250資料(超詳細)

前言

首先我們先來回憶一下上兩篇爬蟲實戰文章:

第一篇:講到了requests和bs4和一些網頁基本操作。

第二篇:用到了正則表示式-re模組

今天我們用lxml庫和xpath語法來爬蟲實戰。

1.安裝lxml庫

window:直接用pip去安裝,注意一定要找到pip的安裝路徑

pip install lxml

**2.**xpath語法

xpath語法不會的可以參考下面的地址:

爬蟲實戰

先上部分效果圖:

image

今天我們來爬一下“豆瓣音樂Top250的資料”

1.觀察網頁切換規律

從中我們已發現了規律。

2.爬取豆瓣音樂中的歌名、資訊、星評 爬蟲完整程式碼如下:


import  requests
from  lxml import  etree

headers = {
   'User-Agent''Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.186 Safari/537.36'}

list=[1]

def getResult():
   urls=["https://music.douban.com/top250?start={}".format(str(i)) for i in  range(0,250,25
)]    for url in  urls:        data = requests.get(url, headers=headers)        html = etree.HTML(data.text)        #迴圈標籤        count = html.xpath("//tr[@class='item']")        for info in count:            title = info.xpath("normalize-space(td[2]/div/a/text())")#標題            list[0]=title #因為title用normalize-space去掉空格了,再生產result時標題顯示不全,所以我用了list替換它
           star = info.xpath("td[2]/div/div/span[2]/text()")  # 星評            brief_introduction = info.xpath("td[2]/div/p//text()"#簡介            #生成result串            for star, title, brief_introduction in zip(star, list, brief_introduction):                result = {                    "title": title,                    "star": star,                    "brief_introduction": brief_introduction,                }                print(result) if __name__ == '__main__':    getResult()

分析:

  • 程式碼中urls為了迴圈出所有的url

  • 對xpath不懂的可以去看一下具體的語言,還是比較簡單明瞭的,而且使用非常方便

  • normalize-space表示通過去掉前導和尾隨空白並使用單個空格替換一系列空白字元,使空白標準化。如果省略了該引數,上下文節點的字串值將標準化並返回

基本上就是這些難點,大家有不會的可以直接問我,另外大家也可以嘗試去爬取別的資料,多敲多練!

希望對剛入門的朋友有所幫助!

歡迎大家關注我的兩個微信公眾號:

Android,Java方向公眾號

Python公眾號

相關推薦

Python爬蟲實戰(3)-豆瓣音樂Top250資料(詳細)

前言 首先我們先來回憶一下上兩篇爬蟲實戰文章: 第一篇:講到了requests和bs4和一些網頁基本操作。 第二篇:用到了正則表示式-re模組 今天我們用lxml庫和xpath語法來爬蟲實戰。 1.安裝lxml庫 window:直接用pip去

[Python/爬蟲]利用xpath豆瓣電影top250

今天學習了一下xpath 感覺功能非常的強大,但是如果不太懂前端的小夥伴們可能比較吃力,建議看一下html的一些語法結構,程式碼如下: #!/usr/bin/env python import r

Python爬蟲實戰B站番劇資訊(詳細過程)

目標:爬取b站番劇最近更新 輸出格式:名字+播放量+簡介 那麼開始擼吧~ 用到的類庫: requests:網路請求 pyquery:解析xml文件,像使用jquery一樣簡單哦~ 1.分析頁面佈局,找到需要爬取的內

python 爬蟲實戰4 淘寶MM照片

寫真 換行符 rip 多行 get sts tool -o true 本篇目標 抓取淘寶MM的姓名,頭像,年齡 抓取每一個MM的資料簡介以及寫真圖片 把每一個MM的寫真圖片按照文件夾保存到本地 熟悉文件保存的過程 1.URL的格式 在這裏我們用到的URL是 http:/

Python爬蟲入門 | 4 豆瓣TOP250圖書信息

Python 編程語言 Python爬蟲先來看看頁面長啥樣的:https://book.douban.com/top250 我們將要爬取哪些信息:書名、鏈接、評分、一句話評價……1. 爬取單個信息我們先來嘗試爬取書名,利用之前的套路,還是先復制書名的xpath:得到第一本書《追風箏的人》的書名xpath如下:

python爬蟲,Scrapy豆瓣電影《芳華》電影短評,分詞生成詞雲圖。

專案github地址:https://github.com/kocor01/scrapy_cloud Python版本為3.6 自己寫的簡單架構《python爬蟲,爬取豆瓣電影《芳華》電影短評,分詞生成詞雲圖。》 這個是用Scrapy框架重新實現的 爬蟲

Python爬蟲實戰鏈家廣州房價_04鏈家的模擬登入(記錄)

問題引入 開始鏈家爬蟲的時候,瞭解到需要實現模擬登入,不登入不能爬取三個月之內的資料,目前暫未驗證這個說法是否正確,這一小節記錄一下利用瀏覽器(IE11)的開發者工具去分析模擬登入網站(鏈家)的內部邏輯過程,花了一個週末的時間,部分問題暫未解決。 思路介

利用python豆瓣音樂TOP250

最近無所事事,在逼乎看到別人爬取了豆瓣電影,發現挺適合我這菜雞練練手 所以我來爬音樂。。 #對不起豆瓣,又是爬你。。 目標網站:https://music.douban.com/top250?start=0 首先正常瀏覽分析網頁 開啟網址,點選下一頁,發現網站URL變成 

Python爬蟲入門 | 4 豆瓣TOP250圖書資訊

  我們將要爬取哪些資訊:書名、連結、評分、一句話評價…… 1. 爬取單個資訊 我們先來嘗試爬取書名,利用之前的套路,還是先複製書名的xpath:   得到第一本書《追風箏的人》的書名xpath如下: //*[@id=

python 爬蟲實戰專案--京東商品資訊(價格、優惠、排名、好評率等)

                                                利用splash爬取京東商品資訊一、環境window7python3.5pycharmscrapyscrapy-splashMySQL二、簡介    為了體驗scrapy-spla

Python爬蟲入門 | 2 豆瓣電影資訊

這是一個適用於小白的Python爬蟲免費教學課程,只有7節,讓零基礎的你初步瞭解爬蟲,跟著課程內容能自己爬取資源。看著文章,開啟電腦動手實踐,平均45分鐘就能學完一節,如果你願意,今天內你就可以邁入爬蟲的大門啦~ 好啦,正式開始我們的第二節課《爬取豆瓣電影資訊

Python爬蟲實戰(6)-QQ空間好友說說並生成詞雲(詳細)

前言 先看效果圖: TXT檔案: 如果想生成特定圖片樣式的詞雲圖,可以直接訪問下面這篇文章學一下: https://mp.weixin.qq.com/s/FUwQ4jZu6KMkjRvEG3UfGw 前幾天我們陸陸續續的講了Python如何生成

python爬蟲練習之豆瓣讀書所有標籤下的書籍資訊

第一步,爬取所有圖書標籤及分類 到達圖書標籤頁,分類瀏覽,第一步需要爬取所有分類及其分類下的所有標籤 並用dict儲存 需要解析的內容 1.bs4解析 import requests from bs4 import Beau

python爬蟲例項之智聯招聘資料

這是作者的處女作,輕點噴。。。。        實習在公司時領導要求學習python,python的爬蟲作為入門來說是十分友好的,話不多說,開始進入正題。       主要是爬去智聯的崗位資訊進行對比分析出java和python的趨勢,爬取欄位:工作地點,薪資範圍,要求學歷,

豆瓣音樂Top250並存入xls

import requests from bs4 import BeautifulSoup import re import xlwt class DoubanMusic: def __ini

爬蟲]利用xpath豆瓣電影top250(轉)

今天學習了一下xpath 感覺功能非常的強大,但是如果不太懂前端的小夥伴們可能比較吃力,建議看一下html的一些語法結構,程式碼如下: #!/usr/bin/env python import re import requests import lxml.html url

【Python3爬蟲】Scrapy豆瓣電影TOP250

今天要實現的就是使用是scrapy爬取豆瓣電影TOP250榜單上的電影資訊。 步驟如下: 一、爬取單頁資訊 首先是建立一個scrapy專案,在資料夾中按住shift然後點選滑鼠右鍵,選擇在此處開啟命令列視窗,輸入以下程式碼: scrapy startprojec

Python豆瓣電影Top250資料

初學pyhton,自己找個練手任務。爬取豆瓣電影top250,儲存為一個DataFrame資料格式,留待分析.(程式碼粗糙,留存) from bs4 import BeautifulSoup from urllib.request import url

Python爬蟲:現學現用Xpath豆瓣音樂

9.1 tree when href scrapy 發現 pat 直接 where 爬蟲的抓取方式有好幾種,正則表達式,Lxml(xpath)與Beautiful,我在網上查了一下資料,了解到三者之間的使用難度與性能 三種爬蟲方式的對比。 抓取方式 性能 使用難度

[python爬蟲]--豆瓣音樂topX

最近在學習python爬蟲,寫出來的一些爬蟲記錄在csdn部落格裡,同時備份一個放在了github上。 github地址:https://github.com/wjsaya/python_s