admin管理员组

文章数量:1033256

Python爬虫入门案例详细教程

刚入门的新手想要一个快速上手的爬虫案例。案例要简单易懂,步骤清晰,不需要复杂的设置。然后,考虑使用哪个库。Requests和BeautifulSoup是比较常见且容易上手的组合,适合静态页面。如果用户以后需要处理动态内容,可能需要提到Selenium或Scrapy,但作为入门案例,先保持简单。

接下来,找一个合适的网站作为例子。某网站电影Top250比较稳定,结构简单,适合练习。不过要提醒遵守robots.txt和版权问题,避免法律风险。

以下是一个适合快速上手的 Python 爬虫案例,使用 requestsBeautifulSoup 抓取豆瓣电影 Top250 的基本信息。代码简单易懂,适合新手快速理解爬虫流程。


环境准备

  1. 安装必要库: pip install requests beautifulsoup4

完整代码

代码语言:javascript代码运行次数:0运行复制
import requests
from bs4 import BeautifulSoup
import csv
​
# 1. 定义目标URL和请求头(模拟浏览器访问)
url = ";
headers = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"
}
​
# 2. 发送HTTP请求
response = requests.get(url, headers=headers)
response.encoding = "utf-8"  # 设置编码
​
# 3. 解析HTML内容
soup = BeautifulSoup(response.text, "html.parser")
​
# 4. 提取数据
movies = []
for item in soup.find_all("div", class_="item"):
    title = item.find("span", class_="title").text  # 电影标题
    rating = item.find("span", class_="rating_num").text  # 评分
    link = item.find("a")["href"]  # 详情页链接
    movies.append([title, rating, link])
​
# 5. 保存为CSV文件
with open("douban_top250.csv", "w", newline="", encoding="utf-8") as file:
    writer = csv.writer(file)
    writer.writerow(["Title", "Rating", "Link"])  # 表头
    writer.writerows(movies)
​
print("数据已保存到 douban_top250.csv!")

代码解析

  1. 请求头(Headers) 使用 User-Agent 模拟浏览器访问,避免被网站反爬虫拦截。
  2. 发送请求 requests.get() 发送 GET 请求,获取网页内容。
  3. 解析数据
    • BeautifulSoup 解析 HTML 结构。
    • find_all("div", class_="item") 定位电影条目。
    • 通过 find() 方法提取标题、评分和链接。
  4. 保存数据 将数据写入 CSV 文件,方便后续分析。

运行结果

生成的 douban_top250.csv 文件内容示例:

代码语言:javascript代码运行次数:0运行复制
Title,Rating,Link
肖申克的救赎,9.7,/
霸王别姬,9.6,/
阿甘正传,9.5,/
...

扩展学习

  1. 分页爬取 修改 URL 为 ={0-225},循环抓取全部25页数据。
  2. 处理动态内容 如果遇到动态加载的网站(如 JavaScript 渲染),可使用 SeleniumScrapy-Splash
  3. 反爬虫策略
    • 添加随机延迟(如 time.sleep(1))。
    • 使用代理 IP(如 requests.get(proxies=proxy))。
  4. 遵守规则
    • 检查目标网站的 robots.txt(如 .txt)。
    • 控制请求频率,避免对服务器造成压力。

通过这个案例,我们可以快速掌握爬虫的基本流程:发送请求 → 解析内容 → 提取数据 → 持久化存储

Python爬虫入门案例详细教程

刚入门的新手想要一个快速上手的爬虫案例。案例要简单易懂,步骤清晰,不需要复杂的设置。然后,考虑使用哪个库。Requests和BeautifulSoup是比较常见且容易上手的组合,适合静态页面。如果用户以后需要处理动态内容,可能需要提到Selenium或Scrapy,但作为入门案例,先保持简单。

接下来,找一个合适的网站作为例子。某网站电影Top250比较稳定,结构简单,适合练习。不过要提醒遵守robots.txt和版权问题,避免法律风险。

以下是一个适合快速上手的 Python 爬虫案例,使用 requestsBeautifulSoup 抓取豆瓣电影 Top250 的基本信息。代码简单易懂,适合新手快速理解爬虫流程。


环境准备

  1. 安装必要库: pip install requests beautifulsoup4

完整代码

代码语言:javascript代码运行次数:0运行复制
import requests
from bs4 import BeautifulSoup
import csv
​
# 1. 定义目标URL和请求头(模拟浏览器访问)
url = ";
headers = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"
}
​
# 2. 发送HTTP请求
response = requests.get(url, headers=headers)
response.encoding = "utf-8"  # 设置编码
​
# 3. 解析HTML内容
soup = BeautifulSoup(response.text, "html.parser")
​
# 4. 提取数据
movies = []
for item in soup.find_all("div", class_="item"):
    title = item.find("span", class_="title").text  # 电影标题
    rating = item.find("span", class_="rating_num").text  # 评分
    link = item.find("a")["href"]  # 详情页链接
    movies.append([title, rating, link])
​
# 5. 保存为CSV文件
with open("douban_top250.csv", "w", newline="", encoding="utf-8") as file:
    writer = csv.writer(file)
    writer.writerow(["Title", "Rating", "Link"])  # 表头
    writer.writerows(movies)
​
print("数据已保存到 douban_top250.csv!")

代码解析

  1. 请求头(Headers) 使用 User-Agent 模拟浏览器访问,避免被网站反爬虫拦截。
  2. 发送请求 requests.get() 发送 GET 请求,获取网页内容。
  3. 解析数据
    • BeautifulSoup 解析 HTML 结构。
    • find_all("div", class_="item") 定位电影条目。
    • 通过 find() 方法提取标题、评分和链接。
  4. 保存数据 将数据写入 CSV 文件,方便后续分析。

运行结果

生成的 douban_top250.csv 文件内容示例:

代码语言:javascript代码运行次数:0运行复制
Title,Rating,Link
肖申克的救赎,9.7,/
霸王别姬,9.6,/
阿甘正传,9.5,/
...

扩展学习

  1. 分页爬取 修改 URL 为 ={0-225},循环抓取全部25页数据。
  2. 处理动态内容 如果遇到动态加载的网站(如 JavaScript 渲染),可使用 SeleniumScrapy-Splash
  3. 反爬虫策略
    • 添加随机延迟(如 time.sleep(1))。
    • 使用代理 IP(如 requests.get(proxies=proxy))。
  4. 遵守规则
    • 检查目标网站的 robots.txt(如 .txt)。
    • 控制请求频率,避免对服务器造成压力。

通过这个案例,我们可以快速掌握爬虫的基本流程:发送请求 → 解析内容 → 提取数据 → 持久化存储

本文标签: Python爬虫入门案例详细教程