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、代码运行结果: