优秀的编程知识分享平台

网站首页 > 技术文章 正文

通过python+Xpath实现抓取某网站推荐的歌曲

nanyue 2024-11-14 16:48:13 技术文章 3 ℃

1、背景:

为了实现抓取某目标网站的歌曲以及作者,通过python + Xpath方式实现,并将抓取的结果保存到csv格式的excel表格里。

2、实现步骤:

(1)获取该网站的网页源码

(2)使用Xpath方式进行解析,找到要抓取的歌曲和作者所在的段落

(3)将解析后的结果写入到CSV格式的excel中

3、关键技术:

python、requests、Xpath、csv文件写入

4、代码实现:

# ############## 通过python+Xpath实现抓取某网站推荐的歌曲
import requests
import lxml.html
import csv

url = "http://www.show160.com/"

html = requests.get(url=url)
htmlContent = html.content.decode("GBK")
selector = lxml.html.fromstring(htmlContent)
#先抓大,找到歌曲信息所在的片段
item_list = selector.xpath('//*[@id="music_con1_1"]/div[@class="cont"]/div[@class="music_list"]/ul/li')
songAndAuthorList = []
#基于抓取的结果再抓取每个li下面的信息,包括歌曲名和作者
for item in item_list:
    name = item.xpath('div[@class="lebox"]/a/text()')
    author = item.xpath('div[@class="ribox"]/a/text()')
    itemDict = {"name":name[0],
                "author":author[0]}
    songAndAuthorList.append(itemDict)

#将结果存入到excel表格里
with open('songAndAuthor.csv', 'w', encoding='utf-8-sig', newline='') as f:
    writer = csv.DictWriter(f, fieldnames=['name','author'])
    writer.writeheader()
    writer.writerows(songAndAuthorList)

5、代码解析:

下面是源码的截图,

为了看的更清楚一点,将要抓取的结构罗列如下:

6、代码运行结果:

Tags:

最近发表
标签列表