爬取100份数据通常涉及以下步骤:
确定目标网站:
首先,你需要确定你想要抓取数据的目标网站。
分析目标页面:
使用浏览器的开发者工具查看目标网站的HTML代码,了解页面结构。
编写Python代码:
使用`requests`和`BeautifulSoup`库来发送HTTP请求并解析HTML内容。
循环爬取多个页面:
如果数据分布在多个页面,你需要编写代码来循环访问这些页面。
提取数据:
使用CSS选择器或XPath定位目标数据,并提取所需信息。
保存数据:
将提取的数据保存到本地文件,如CSV、JSON或数据库中。
下面是一个简单的示例代码,展示如何使用`requests`和`BeautifulSoup`爬取数据,并保存到JSON文件中:
import requests
from bs4 import BeautifulSoup
import json
定义要爬取的URL
base_url = 'https://example.com/page={}'
初始化一个列表来保存所有抓取到的数据
data_list = []
循环爬取100页数据
for page in range(1, 101):
构造当前页面的URL
url = base_url.format(page)
发送HTTP请求
response = requests.get(url)
检查请求是否成功
if response.status_code == 200:
解析HTML内容
soup = BeautifulSoup(response.text, 'html.parser')
提取页面中的数据(这里以提取列表项为例)
items = soup.find_all('li') 假设数据在li标签中
遍历列表项并提取数据
for item in items:
title = item.find('a').text 假设标题在a标签的文本中
data_list.append({'title': title})
如果已经爬取到100页数据,则停止循环
if len(data_list) == 100:
break
将数据保存到JSON文件
with open('data.json', 'w', encoding='utf-8') as f:
json.dump(data_list, f, ensure_ascii=False, indent=4)
请注意,这只是一个示例,实际爬取时可能需要根据目标网站的具体结构进行相应的调整。同时,确保在爬取数据时遵守网站的`robots.txt`规则,并尊重网站的版权和使用条款。