八行代码爬取豆瓣TOP250(一)

本文展示了使用Python的requests和BeautifulSoup库仅用8行代码抓取豆瓣电影Top250电影名称的过程。通过设置headers获取网页内容,解析HTML并找到包含电影名的元素,然后循环遍历输出。爬取结果可保存为文本、CSV或SQL文件。后续博客将探讨如何获取更多电影信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

八行代码爬取豆瓣TOP250

这里使用了bs4库,解析html非常好用,此处为展示它的快速强大,借用下例说明,仅用8行代码便爬取到了top250的电影名字

import requests
from bs4 import BeautifulSoup

headers = {#此处填写cookie,User-agent
}
for i in range(25):
	#html通过request请求得到,().text将()转化成文本
    html= requests.get(
        'https://movie.douban.com/top250?start='+str(i*25), headers=headers).text
    soup = BeautifulSoup(html, 'html.parser')#解析html,建议首先搜索资料了解一下
    items = soup.find_all('div', class_='item')#比对网页源代码加以理解,此处的'div'表示一个容器,find_all找到符合条件的所有信息,相信聪明的你们会很快入门这个函数

    for item in items:
        moviename = item.find('span', class_='title').text
        print(moviename)

爬取的结果如下

如果要保存,可以保存文本,可以保存csv文件,或者sql文件。如何保存呢,参看我的新一篇博客(肚子饿了,恰饭)
如果要爬取Top250的所有信息,可以仿照爬取title类似处理,之后的博客写一些

欢迎大家看官点点赞呀!

Python的Selenium库主要用于浏览器自动化操作,包括网页抓取。要通过Selenium爬取豆瓣Top250电影列表并保存到Excel文档,你需要做以下几个步骤: 1. 安装所需库:首先安装`selenium`、`webdriver_manager`(用于管理WebDriver,如ChromeDriver)以及`pandas`和`openpyxl`(用于处理Excel文件)。 ```bash pip install selenium webdriver_manager pandas openpyxl ``` 2. 下载并配置WebDriver:下载对应浏览器的WebDriver,比如ChromeDriver,并将其添加到系统路径或指定Selenium查找。 3. 编写Python脚本: ```python import time from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC import pandas as pd # 初始化浏览器实例 options = webdriver.ChromeOptions() options.add_argument('--headless') # 无头模式,隐藏窗口 driver = webdriver.Chrome(ChromeDriverManager().install(), options=options) # 路径替换为你实际的URL url = 'https://movie.douban.com/top250' # 访问豆瓣Top250页面 driver.get(url) time.sleep(2) # 等待页面加载完成 # 查找元素,找到表格数据区域 table = driver.find_element_by_css_selector('#main > div.hd > div.bd > ul > li') # 获取所有电影信息 data_rows = [] while table is not None: title_cell = table.find_element(By.CSS_SELECTOR, '.title a') rating_cell = table.find_element(By.CSS_SELECTOR, '.rating_num').text link = title_cell.get_attribute('href') data_row = { '电影名': title_cell.text, '评分': rating_cell, '链接': link } data_rows.append(data_row) next_page_button = table.find_element(By.CSS_SELECTOR, '.next') if next_page_button.is_displayed(): next_page_button.click() table = driver.find_elements(By.CSS_SELECTOR, '#main > div.hd > div.bd > ul > li')[0] # 更新table else: table = None # 结束循环,如果找不到下页按钮 # 将数据转换为DataFrame df = pd.DataFrame(data_rows) # 保存到Excel文件 writer = pd.ExcelWriter('douban_top250.xlsx', engine='openpyxl') df.to_excel(writer, sheet_name='豆瓣Top250', index=False) writer.save() # 关闭浏览器 driver.quit() ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值