Python爬蟲之旅之豆瓣音樂

NO IMAGE

前言

  • Python是一門計算機程序語言,目前人工智能科學領域應用廣泛,應用廣泛就表明各種庫,各種相關聯的框架都是以Python作為主要語言開發出來的。
  • 谷歌的TensorFlow大部分代碼都是Python
  • Python雖然是腳本語言,但是因為容易學,迅速成為科學家的工具,從而積累了大量的工具庫、架構,人工智能涉及大量的數據計算,用Python是很自然的,簡單高效。
  • Python有非常多優秀的深度學習庫可用,現在大部分深度學習框架都支持Python,不用Python用誰?

環境以及工具

pyCharm 2018.3.3

Python 3.7.2

Google Chrome 版本 71.0.3578.98(正式版本)(64 位)

效果展示

..........熱門音樂人才分類..........
['豆瓣攝影', '流行', '輕音樂', '搖滾', '古典', '電子', '世界音樂', '民謠', '說唱', '爵士', '原聲']
..........熱門音樂URL..........
['https://ypy.douban.com', '/artists/genre_page/6/', '/artists/genre_page/2/', '/artists/genre_page/8/', '/artists/genre_page/1/', '/artists/genre_page/3/', '/artists/genre_page/10/', '/artists/genre_page/4/', '/artists/genre_page/7/', '/artists/genre_page/5/', '/artists/genre_page/9/']
..........熱門音樂URL進行自定義拼接..........
https://music.douban.com/artists/genre_page/6/
https://music.douban.com/artists/genre_page/2/
https://music.douban.com/artists/genre_page/8/
https://music.douban.com/artists/genre_page/1/
https://music.douban.com/artists/genre_page/3/
https://music.douban.com/artists/genre_page/10/
https://music.douban.com/artists/genre_page/4/
https://music.douban.com/artists/genre_page/7/
https://music.douban.com/artists/genre_page/5/
https://music.douban.com/artists/genre_page/9/

整體步驟

1. Requests 發送網絡請求
2. etree解析html
3. 爬蟲分析處理

核心步驟解讀

1. Requests 發送網絡請求
from lxml import etree
import requests
url = 'https://music.douban.com/'  # 需要爬的網址
page = requests.Session().get(url)
2. etree解析html
htmlString = etree.HTML(page.text)
3. 爬蟲分析處理

網頁選中流行,右擊

Python爬蟲之旅之豆瓣音樂

Python爬蟲之旅之豆瓣音樂

用xpath匹配指定的標籤

musicType = htmlString.xpath("//tr//a/text()")
musicUrl = htmlString.xpath("//tr//a/@href")

源碼展示

# 爬取 豆瓣音樂音樂人分類 https://music.douban.com
from lxml import etree
import requests
url = 'https://music.douban.com/'  # 需要爬的網址
page = requests.Session().get(url)
htmlString = etree.HTML(page.text)
# print("page.text \n" + htmlString)
musicType = htmlString.xpath("//tr//a/text()")
musicUrl = htmlString.xpath("//tr//a/@href")
print("..........熱門音樂人才分類..........")
print(musicType)
print("..........熱門音樂URL..........")
print(musicUrl)
print("..........熱門音樂URL進行自定義拼接..........")
for urlIndex in range(len(musicUrl)):
if urlIndex >= 1:
print(musicUrl[0].replace("ypy", "music") + musicUrl[urlIndex])

源碼位置

請關注公眾號並在後臺回覆:Python

Python爬蟲系列分享教程

Python爬蟲之旅之Selenium庫的使用

Kotlin重構系列分享教程

Kotlin環境搭建

Kotlin重構初體驗之告別FindViewById

Kotlin重構如何兼容原先的ButterKnife、EventBus3.1

當ButterKnife8.8.1碰到AndroidX怎麼辦

請關注我(分享日常開發)

Python爬蟲之旅之豆瓣音樂

相關文章

Kotlin類和對象

Kotlin返回與跳轉

Kotlin控制語句ifwhenforwhile

Kotlin基本類型