python爬虫入门篇:还不会设计爬虫框架?一文教会你独立设计爬虫架构!
import requests
from bs4 import BeautifulSoup
class SimpleCrawler:
def __init__(self, start_url):
self.start_url = start_url
def fetch_url(self, url):
"""
发送HTTP请求并获取页面内容
"""
response = requests.get(url)
if response.status_code == 200:
return response.text
else:
return None
def parse_content(self, content, parser='html.parser'):
"""
使用BeautifulSoup解析页面内容
"""
soup = BeautifulSoup(content, parser)
return soup
def extract_links(self, soup):
"""
提取页面中的链接
"""
return [link['href'] for link in soup.find_all('a', href=True)]
def start_crawling(self):
"""
开始爬取过程
"""
# 初始URL
url = self.start_url
# 获取页面内容
content = self.fetch_url(url)
if content is None:
print("页面获取失败")
return
# 解析页面内容
soup = self.parse_content(content)
# 提取链接并输出
for link in self.extract_links(soup):
print(link)
# 使用示例
crawler = SimpleCrawler('https://www.example.com')
crawler.start_crawling()
这段代码定义了一个简单的网络爬虫框架,包括获取页面内容、解析页面和提取链接。开发者可以基于这个框架进一步扩展功能,如实现深度优先或广度优先的爬取策略、处理动态内容、应对反爬机制等。
评论已关闭