用 Python“抓数据”通常分几种场景,我按常见程度从简单到进阶给你讲,并配上可直接用的示例代码。
import requests
url = "https://example.com"
response = requests.get(url)
print(response.status_code) # 200 表示成功
print(response.text) # 网页 HTML 内容
from bs4 import BeautifulSoup
soup = BeautifulSoup(response.text, "html.parser")
# 示例:抓取所有标题
titles = soup.find_all("h1")
for t in titles:
print(t.text)
✅ 适合:新闻、博客、价格页等非动态加载网站
如果网页数据是 JS 加载的(右键“查看网页源代码”看不到数据),用:
from selenium import webdriver
from selenium.webdriver.common.by import By
driver = webdriver.Chrome()
driver.get("https://example.com")
data = driver.find_elements(By.CLASS_NAME, "item")
for d in data:
print(d.text)
driver.quit()
import requests
api_url = "https://example.com/api/data"
resp = requests.get(api_url)
print(resp.json())
✅ 技巧:
浏览器 → F12 → Network → 找 XHR / Fetch 请求
很多网站本质是调接口:
import requests
url = "https://api.github.com/repos/python/cpython"
data = requests.get(url).json()
print(data["stargazers_count"])
headers = {
"User-Agent": "Mozilla/5.0"
}
requests.get(url, headers=headers)
import time
time.sleep(1)
cookies = {"session": "abc123"}
requests.get(url, cookies=cookies)
import pandas as pd
df = pd.DataFrame(data)
df.to_csv("data.csv", index=False)
import pymysql
conn = pymysql.connect(host="localhost", user="root", password="", db="test")
robots.txt如果你愿意,可以告诉我:
我可以直接帮你写完整可运行脚本。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。