爬虫第3课 -豆瓣TOP250电影爬取

第一步:分析问题,明确结果

问题需求就是把豆瓣TOP250里面的 序号/电影名/评分/推荐语/链接 都爬取下来,结果就是全部展示打印出来

第二步:思考要用到的知识

要爬取“序号/电影名/评分/推荐语/链接”这些信息,我们已经学习了用requests.get()获取数据,BeautifulSoup库解析数据,find()和find_all()提取数据,还有呢,观察下,一共10页,我们还要加个for循环对吧~

第三步:书写思路一代码

先爬取最小共同父级标签 <li 然后针对每一个父级标签,提取里面的序号/电影名/评分/推荐语/链接

import requests, random, bs4

for x in range(10):
    url = 'https://movie.douban.com/top250?start=' + str(x*25) + '&filter='
    res = requests.get(url)
    bs = bs4.BeautifulSoup(res.text, 'html.parser')
    bs = bs.find('ol', class_="grid_view")
    for titles in bs.find_all('li'):
        num = titles.find('em',class_="").text
        #查找序号
        title = titles.find('span', class_="title").text
        #查找电影名
        tes = titles.find('span',class_="inq").text
        #查找推荐语
        comment = titles.find('span',class_="rating_num").text
        #查找评分
        url_movie = titles<
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你好!对于爬取菜谱网站,你可以使用 Python 的 requests 和 BeautifulSoup 库来实现。首先,你需要发送请求获取网页的 HTML 内容,然后使用 BeautifulSoup 解析该内容,提取出你所需的菜谱信息。 以下是一个简单的示例代码,以爬取美食天下网站(www.meishij.net)为例: ```python import requests from bs4 import BeautifulSoup def get_recipe(url): response = requests.get(url) soup = BeautifulSoup(response.text, 'html.parser') # 在这里根据网页结构提取菜谱信息 # 例如,获取菜名和食材 recipe_name = soup.find('h1', class_='recipe-title').text.strip() ingredients = soup.find('div', class_='particulars').ul.find_all('li') ingredient_list = [] for ingredient in ingredients: ingredient_list.append(ingredient.text.strip()) # 输出菜谱名称和食材列表 print("菜谱名称:", recipe_name) print("食材列表:", ingredient_list) # 菜谱详情页的URL recipe_url = 'https://www.meishij.net/1' get_recipe(recipe_url) ``` 对于爬取豆瓣 Top250 电影榜单,同样可以使用 requests 和 BeautifulSoup 库来实现。以下是一个简单的示例代码: ```python import requests from bs4 import BeautifulSoup def get_top250(): url = 'https://movie.douban.com/top250' response = requests.get(url) soup = BeautifulSoup(response.text, 'html.parser') movie_list = soup.find('ol', class_='grid_view').find_all('li') for movie in movie_list: # 获取电影排名、名称和评分 rank = movie.find('em').text title = movie.find('span', class_='title').text rating = movie.find('span', class_='rating_num').text # 输出电影信息 print("排名:", rank) print("名称:", title) print("评分:", rating) print() get_top250() ``` 以上代码只是一个简单示例,你可以根据具体的网页结构和需求进行相应的修改和扩展。希望能对你有所帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值