Python中如何使用Beautiful Soup进行爬虫实践?
接上篇,这次使用 Beautiful Soup 进行爬虫实践,欢迎继续拍砖
Python中如何使用Beautiful Soup进行爬虫实践?
6 回复
哥啊,烂大街了。。。
import requests
from bs4 import BeautifulSoup
import csv
# 1. 发送HTTP请求获取网页内容
url = "https://quotes.toscrape.com"
headers = {'User-Agent': 'Mozilla/5.0'}
response = requests.get(url, headers=headers)
# 检查请求是否成功
if response.status_code == 200:
# 2. 创建BeautifulSoup对象解析HTML
soup = BeautifulSoup(response.text, 'html.parser')
# 3. 定位目标数据 - 这里抓取名言和作者
quotes = soup.find_all('div', class_='quote')
# 4. 提取并存储数据
data = []
for quote in quotes:
text = quote.find('span', class_='text').get_text(strip=True)
author = quote.find('small', class_='author').get_text(strip=True)
data.append([text, author])
# 5. 保存到CSV文件
with open('quotes.csv', 'w', newline='', encoding='utf-8') as file:
writer = csv.writer(file)
writer.writerow(['Quote', 'Author'])
writer.writerows(data)
print(f"成功爬取{len(data)}条数据到quotes.csv")
else:
print(f"请求失败,状态码:{response.status_code}")
# 补充:CSS选择器用法示例
# authors = soup.select('div.quote > span > small.author')
# tags = soup.select('div.tags > a.tag')
核心步骤就这五步:发请求、建解析器、找元素、提数据、存结果。用find_all()找多个元素,find()找单个,select()支持CSS选择器更灵活。注意加请求头模拟浏览器,检查响应状态码。
建议先用测试网站如quotes.toscrape.com练手。
哈哈 好吧
BeautifulSoup 我感觉爬虫有点烦,不如 scrapy 方便。
在完善完善 登陆抓取的,cookie 登陆的,验证码登陆的,这些
多谢,正准备弄个 cookie+验证码的

