Python实现的爬取豆瓣电影信息功能案例

本文实例讲述了Python实现的爬取豆瓣电影信息功能。分享给大家供大家参考,具体如下:

本案例的任务为,爬取豆瓣电影top250的电影信息(包括序号、电影名称、导演和主演、评分以及经典台词),并将信息作为字典形式保存进txt文件。这里只用到requests库,没有用到beautifulsoup库

step1:首先获取每一页的源代码,用requests.get函数获取,为了防止请求错误,使用try…except…

def getpage(url):
  try:
    res=requests.get(url)
    if res.status_code==200:
      return res.text
    return None
  except RequestException:
    return None

step2:做每一页的网址解析,打开原网址https://movie.douban.com/top250?,查看网页源代码,可以看到每一个电影的源代码都是从

  • 开始,在
  • 处结束,写好正则表达式以后爬到的列表的每一条item都有五个元素,因此将其写成字典的形式,这里用到yield函数(关于yield函数的用法,廖老师的有一篇文章比较好懂https://www.ibm.com/developerworks/cn/opensource/os-cn-python-yield/) 在这里插入图片描述
    对单个网页的进行解析的代码如下:

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,这是一个很常见的爬虫案例。下面是一个简单的 Python 代码示例,用于使用 Selenium 爬取豆瓣电影 Top250: ```python import time from selenium import webdriver # 创建 Chrome 浏览器驱动 driver = webdriver.Chrome() # 访问豆瓣电影 Top250 页面 driver.get('https://movie.douban.com/top250') # 循环爬取所有页面 while True: # 获取当前页面的所有电影信息 movies = driver.find_elements_by_xpath('//div[@class="info"]') # 循环打印每个电影的名称、导演和主演信息 for movie in movies: name = movie.find_element_by_xpath('.//a/span[@class="title"]').text director_and_actors = movie.find_element_by_xpath('.//div[@class="bd"]/p[1]').text print(name, director_and_actors) # 查找下一页的链接 next_link = driver.find_element_by_xpath('//span[@class="next"]/a') # 如果下一页链接不可点击,则说明已经到了最后一页,退出循环 if 'disabled' in next_link.get_attribute('class'): break # 点击下一页链接 next_link.click() # 等待一段时间,让页面加载完成 time.sleep(2) # 关闭浏览器驱动 driver.quit() ``` 这个代码片段使用 Chrome 浏览器驱动访问豆瓣电影 Top250 页面,并循环爬取每个页面上的电影信息。在每个页面上,它使用 XPath 查找电影名称、导演和主演信息,并打印到控制台中。然后,它查找下一页链接,并单击它以导航到下一页。如果下一页链接不可点击,则说明已经到了最后一页,退出循环。最后,它关闭浏览器驱动。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值