Python Web 爬虫秘籍
import requests
from bs4 import BeautifulSoup
# 获取网页内容
def get_html(url):
try:
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'}
response = requests.get(url, headers=headers)
if response.status_code == 200:
return response.text
else:
return None
except requests.RequestException:
return None
# 解析网页并提取数据
def parse_html(html):
soup = BeautifulSoup(html, 'html.parser')
# 假设我们要提取的数据在<div class="content">...</div>中
content = soup.find('div', class_='content')
if content:
return content.get_text()
else:
return None
# 保存数据到文件
def save_data(data, filename):
with open(filename, 'w', encoding='utf-8') as file:
file.write(data)
# 主函数
def main(url, filename):
html = get_html(url)
if html:
parsed_data = parse_html(html)
if parsed_data:
save_data(parsed_data, filename)
print(f"数据已保存到 {filename}")
else:
print("未找到有效数据。")
else:
print("网页内容获取失败。")
# 示例用法
if __name__ == '__main__':
url = 'http://example.com/data' # 替换为你要爬取的网页URL
filename = 'data.txt' # 保存数据的文件名
main(url, filename)
这段代码首先定义了一个获取网页内容的函数get_html
,使用了requests
库来发送HTTP请求。然后定义了一个解析网页并提取数据的函数parse_html
,使用了BeautifulSoup
来解析HTML并提取信息。最后,定义了一个保存数据到文件的函数save_data
。main
函数作为程序的入口点,调用了这些函数,并处理了可能出现的异常。
评论已关闭