j = 1 # 插入行的行号 for i in range(10): url = 'https://music.douban.com/top250?start={}'.format(i * 25) headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36'} ret = Request(url, headers=headers) html = urlopen(ret).read() bs = BeautifulSoup(html, "html.parser") div = bs.find("div", {"class": "indent"}) # 存储本页需要内容的标签 divs = div.find_all("div", {"class": "pl2"}) # 存储本页每首首歌曲内容的标签 for div_pl2 in divs: title = div_pl2.select('a')[0].text.replace(' ', '') title = title.replace('\n', ' ').replace('\r', '') content = div_pl2.find("p", {"class": "pl"}).get_text().split('/') # 将找到的内容以/为分隔符进行分隔返回分割后的字符串列表
时间: 2024-04-21 12:24:50 浏览: 208
你的代码片段展示了一段爬取豆瓣音乐排行榜的操作,然后将相关信息写入Excel表格的过程。这段代码使用了`urlopen`函数从豆瓣音乐排行榜网页获取了HTML内容,并使用`BeautifulSoup`库解析HTML。
接下来,你可以继续编写代码将获取到的音乐排行榜的信息写入Excel表格。在你的代码中,可以在`for div_pl2 in divs:`循环中,使用类似的方法来将获取到的信息写入Excel表格。例如,你可以在每次循环中使用以下代码来将歌曲信息写入Excel表格的不同行和列:
```python
worksheet.write(j, 0, title) # 写入歌曲标题
worksheet.write(j, 1, content[0]) # 写入演唱者
worksheet.write(j, 2, content[1]) # 写入发行时间
# 继续根据需要写入其他列的信息
j += 1 # 行号加1,准备写入下一行信息
```
这样,你就可以在循环中逐个写入每首歌曲的相关信息到Excel表格中。记得在循环结束后保存和关闭Excel文件。
```python
workbook.save('sample3.xls') # 保存Excel文件
```
这样,你的代码就可以将音乐排行榜的信息爬取并写入到Excel表格中了。请注意,你可能需要根据实际情况调整代码,以适应你的数据结构和需求。
阅读全文