python使用def crawler(String startURL, String dataSavPath) :方法
时间: 2024-09-22 16:05:51 浏览: 69
在Python中,你可以创建一个名为`crawler`的函数,该函数接受两个参数:`startURL`和`dataSavPath`,用于网络爬取和数据存储。这个函数通常用于编写网络爬虫程序,如使用`requests`库获取网页内容,然后使用如`BeautifulSoup`或`lxml`解析HTML,最后将数据保存到指定路径的文件中。以下是一个基本的框架示例:
```python
import requests
from bs4 import BeautifulSoup
import os
def crawler(start_URL, data_save_path):
# 检查数据保存路径是否存在,不存在则创建
if not os.path.exists(os.path.dirname(data_save_path)):
os.makedirs(os.path.dirname(data_save_path))
# 发送HTTP请求
try:
response = requests.get(start_URL, timeout=10) # 设置超时时间防止阻塞
response.raise_for_status() # 如果状态码不是200,抛出异常
except (requests.exceptions.RequestException, ValueError) as e:
print(f"Error occurred while fetching URL: {e}")
return
# 解析HTML
soup = BeautifulSoup(response.text, 'html.parser')
# 这里根据实际需求提取所需信息,例如标题、链接等
title = soup.find('title').get_text()
links = [a['href'] for a in soup.select('a[href]')] # 示例:提取所有链接
# 将数据保存到文件
with open(data_save_path, 'w', encoding='utf-8') as f:
for link in links:
f.write(f"{link}\n")
f.write(f"\nTitle: {title}")
print(f"Crawled and saved data to: {data_save_path}")
# 使用示例
start_url = "http://example.com" # 替换为你想爬取的URL
save_path = "data/crawled_links.txt" # 数据保存路径
crawler(start_url, save_path)
阅读全文