import requests from bs4 import BeautifulSoup url = 'https://movie.douban.com/subject/30228394/' header = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64)\ AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36'} response = requests.get(url=url, headers=header) soup = BeautifulSoup(response.text, 'html.parser') tv_infor = {} # 1.获取电视剧名称 name = soup.find(property="v:itemreviewed").string # 根据属性property="v: "查找 tv_infor['name'] = name # 将电影名称加到字典tv_infor中 # 2.获取导演 director = soup.find(rel="v: directedBy").string # 根据属性re1="v:directedBy“查找 tv_infor['director'] = director # 3.获取编剧 soup_list = soup. findAll(class_="attrs")[1].findAll('a') writers = [elem. string for elem in soup_list] tv_infor['writers'] = writers # 4.获取演员 soup_list = soup. findAll(rel="v:starring") actors = [elem. string for elem in soup_list] tv_infor['actors'] = actors # 5.获取类型 soup_list = soup. findAll(property="v: genre") tv_type = [elem. string for elem in soup_list] tv_infor['type'] = tv_type # 6.首播时间 release_date = soup.find(property="v: initialReleaseDate").string tv_infor['release_date'] = release_date # 7.豆瓣评分 rating = soup.find(property="v: average").string tv_infor['rating'] = rating # 8.参评人数 votes = soup.find(property="v: votes").string tv_infor['votes'] = votes print("电视剧《觉醒年代》相关信息如下:") for key, value in tv_infor.items(): print(key, ":", value)
时间: 2024-03-26 07:37:47 浏览: 93
这段代码实现了爬取豆瓣电视剧《觉醒年代》的相关信息并存储在一个字典中。具体的实现过程如下:
1. 引入requests和BeautifulSoup模块,并定义目标url和请求头。
2. 发送请求获取响应,并使用BeautifulSoup解析响应的html文本。
3. 根据html结构和标签属性,使用find()和findAll()方法来定位需要的信息。
4. 将获取到的信息存储在一个字典中,键为信息的名称,值为信息的内容。
5. 最后使用for循环遍历字典,并按照指定格式输出信息。
需要注意的是,在使用BeautifulSoup解析html文本时,需要指定解析器类型,这里使用的是'html.parser'。在实际使用中,可能需要根据不同的网站和html结构来选择不同的解析器类型。
相关问题
import requests from bs4 import BeautifulSoup url = "https://movie.douban.com/top250" response = re
您提供的代码片段是在Python中使用requests库获取网页内容,并结合BeautifulSoup库解析HTML文档。`import requests`导入了HTTP请求处理模块,用于发送GET请求到指定URL;`from bs4 import BeautifulSoup`导入了BeautifulSoup库,它是一个强大的HTML和XML解析器,可以帮助我们从HTML文件中提取数据。
这里的`url = "https://movie.douban.com/top250"`指定了要抓取的豆瓣电影Top250页面地址。然后通过`response = requests.get(url)`发起GET请求并获取服务器返回的数据(通常是HTML文本)。
接下来,会使用BeautifulSoup对响应内容进行解析,例如,可以使用`.soup`属性创建一个BeautifulSoup对象,然后通过各种方法(如`.find_all()`、`.select()`等)查找特定的HTML元素,并提取出所需的信息,比如电影标题、评分等。
```python
soup = BeautifulSoup(response.text, 'html.parser')
movies = soup.select('div.item') # 获取所有电影信息的div元素
for movie in movies:
title = movie.h3.a.text # 提取电影标题
rating = movie.find('span', class_='rating_num').text # 提取评分
print(f"电影标题:{title}, 评分:{rating}")
```
import requests from bs4 import BeautifulSoup url = 'https://movie.douban.com/chart' headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'} response = requests.get(url, headers=headers) soup = BeautifulSoup(response.text, 'html.parser') for movie in soup.select('.pl2'): name = movie.a.text.strip() url = movie.a['href'] print(f'{name}:{url}')
这段代码的功能是爬取豆瓣电影排行榜的电影名称和链接,并将其打印出来。具体实现步骤是:
1. 导入requests和BeautifulSoup库。
2. 设置请求头headers,模拟浏览器发送请求。
3. 发送GET请求获取豆瓣电影排行榜页面的HTML源码,并使用BeautifulSoup库进行解析。
4. 使用CSS选择器(.pl2)获取所有电影的HTML元素,遍历元素列表。
5. 对于每个元素,使用CSS选择器获取电影名称和链接,并将其打印出来。
需要注意的是,此代码仅供学习和参考,不应用于商业用途或非法用途。爬取网站数据时应注意遵守相关法律法规和网站的使用规定。
阅读全文