引言
在互聯網信息爆炸的時代,從網頁中抓取所需數據曾經成為很多開辟者跟研究者的重要技能。Python作為一種功能富強的編程言語,供給了多種庫來幫助我們實現這一目標。本文將具體介紹怎樣利用Python抓取網頁源碼,並將其主動保存到TXT文件夾中。
籌備任務
在開端之前,請確保你的Python情況中曾經安裝了以下庫:
requests
:用於發送HTTP懇求。BeautifulSoup
:用於剖析HTML跟XML文檔。
你可能利用以下命令來安裝這些庫:
pip install requests beautifulsoup4
抓取網頁源碼
1. 發送HTTP懇求
起首,我們須要利用requests
庫發送HTTP懇求到目標網頁,獲取網頁的HTML內容。
import requests
url = 'http://example.com' # 調換為你想要抓取的網頁URL
response = requests.get(url)
# 檢查懇求能否成功
if response.status_code == 200:
html_content = response.text
else:
print(f"無法獲取網頁內容,狀況碼:{response.status_code}")
html_content = ""
2. 剖析HTML內容
接上去,我們利用BeautifulSoup
庫剖析HTML內容,提取所需的數據。
from bs4 import BeautifulSoup
soup = BeautifulSoup(html_content, 'html.parser')
3. 提取數據
根據你的須要,提取網頁中的數據。以下是一個簡單的例子,提取網頁中的全部標題:
titles = [title.get_text() for title in soup.find_all('h1', 'h2', 'h3', 'h4', 'h5', 'h6')]
保存數據到TXT文件
1. 創建文件夾
起首,我們須要創建一個文件夾來保存TXT文件。
import os
folder_path = 'webpage_sourcelist'
if not os.path.exists(folder_path):
os.makedirs(folder_path)
2. 保存數據
將提取的數據保存到TXT文件中。
file_path = os.path.join(folder_path, 'data.txt')
with open(file_path, 'w', encoding='utf-8') as file:
for title in titles:
file.write(title + '\n')
完全代碼示例
以下是一個完全的Python劇本,用於抓取網頁源碼並將其保存到TXT文件夾中:
import requests
from bs4 import BeautifulSoup
import os
# 網頁URL
url = 'http://example.com'
# 發送HTTP懇求
response = requests.get(url)
# 檢查懇求能否成功
if response.status_code == 200:
html_content = response.text
else:
print(f"無法獲取網頁內容,狀況碼:{response.status_code}")
html_content = ""
# 剖析HTML內容
soup = BeautifulSoup(html_content, 'html.parser')
# 提取數據
titles = [title.get_text() for title in soup.find_all('h1', 'h2', 'h3', 'h4', 'h5', 'h6')]
# 創建文件夾
folder_path = 'webpage_sourcelist'
if not os.path.exists(folder_path):
os.makedirs(folder_path)
# 保存數據
file_path = os.path.join(folder_path, 'data.txt')
with open(file_path, 'w', encoding='utf-8') as file:
for title in titles:
file.write(title + '\n')
經由過程以上步調,你就可能利用Python輕鬆地抓取網頁源碼並將其保存到TXT文件夾中了。盼望本文能幫助你揭開Python抓取網頁源碼的奧秘面紗。