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 08:24:50 浏览: 11
你的代码片段展示了一段爬取豆瓣音乐排行榜的操作,然后将相关信息写入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表格中了。请注意,你可能需要根据实际情况调整代码,以适应你的数据结构和需求。
相关问题
用python抓取以下https://book.douban.com/top250的250条信息
好的,以下是实现该爬虫任务的Python代码:
```python
import requests
from bs4 import BeautifulSoup
url = 'https://book.douban.com/top250'
books = []
for i in range(0, 250, 25):
params = {
'start': str(i)
}
response = requests.get(url, params=params)
soup = BeautifulSoup(response.text, 'html.parser')
book_items = soup.find_all('div', class_='pl2')
for item in book_items:
book = {}
book['title'] = item.find('a').text.strip()
book['link'] = item.find('a')['href']
book['author'] = item.find('p', class_='pl').text.strip().split('/')[0]
book['rating'] = item.find('span', class_='rating_nums').text.strip()
book['num_of_comments'] = item.find('span', class_='pl').text.strip().strip('()')
books.append(book)
print(books)
```
这段代码会抓取豆瓣图书Top250页面上的所有书籍信息,并将其存储在一个列表中。每条记录包括书名、链接、作者、评分和评论数。
用Python 生成爬虫代码 网址https://movie.douban.com/ 爬取t250电影导演,演员保存到txt文件
好的,以下是使用 Python 爬取豆瓣电影 Top250 网站电影导演和演员并保存到本地 txt 文件的示例代码:
```python
import requests
from bs4 import BeautifulSoup
# 要爬取的网页地址
url = 'https://movie.douban.com/top250'
directors_actors = []
# 遍历每个页面
for i in range(10):
# 发起 GET 请求,获取网页内容
params = {'start': i * 25}
response = requests.get(url, params=params)
# 使用 BeautifulSoup 解析网页内容
soup = BeautifulSoup(response.text, 'html.parser')
# 找到网页中所有电影的链接
movie_links = soup.find_all('a', class_='title')
# 遍历每个电影的链接
for link in movie_links:
movie_url = link.get('href')
movie_response = requests.get(movie_url)
movie_soup = BeautifulSoup(movie_response.text, 'html.parser')
# 获取电影导演和演员信息
directors = movie_soup.find_all('a', rel='v:directedBy')
actors = movie_soup.find_all('a', rel='v:starring')
# 将导演和演员信息保存到列表中
for director in directors:
directors_actors.append(director.text)
for actor in actors:
directors_actors.append(actor.text)
# 将导演和演员信息保存到本地 txt 文件
with open('directors_actors.txt', 'w', encoding='utf-8') as f:
for name in directors_actors:
f.write(name + '\n')
```
这段代码使用 requests 库发起 GET 请求获取豆瓣电影 Top250 网站的前 250 部电影,然后使用 BeautifulSoup 库解析网页内容,找到所有电影的链接,遍历每个链接获取电影的导演和演员信息,并将这些信息保存到一个列表中。最后,将导演和演员信息写入到本地 txt 文件中。由于 Top250 网页是分页的,因此需要遍历每个页面,这里设置了遍历前 10 页。