python 爬虫实例代码
爬虫是通过编程自动获取互联网上的信息的过程。在Python中,有许多用于编写爬虫的库,其中最流行的是Beautiful Soup和Requests。
pythonimport requests
from bs4 import BeautifulSoup
def simple_web_crawler(url):
# 发送HTTP请求获取网页内容
response = requests.get(url)
# 检查请求是否成功
if response.status_code == 200:
# 使用Beautiful Soup解析网页内容
soup = BeautifulSoup(response.text, 'html.parser')
# 获取网页标题
title = soup.title.string
print(f"网页标题:{title}\n")
# 获取所有链接
links = soup.find_all('a')
print("所有链接:")
for link in links:
href = link.get('href')
if href:
print(href)
else:
print(f"请求失败,状态码:{response.status_code}")
# 替换成你想爬取的网页URL
url_to_crawl = 'https://example.com'
simple_web_crawler(url_to_crawl)
此外,了解并
robots.txt 规则: 某些网站在根目录下提供了robots.txt文件,该文件规定了哪些页面可以被爬取,哪些不可以。在编写爬虫时,应该
请求头设置: 有些网站对于爬虫会有反爬虫机制,可以通过设置请求头来模拟浏览器行为,减少被识别为爬虫的概率。例如,你可以设置User-Agent
头部来伪装成浏览器。
pythonheaders = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36'}
response = requests.get(url, headers=headers)
数据存储: 获取到的数据可以保存到本地文件或者数据库中,以备后续分析使用。常见的数据存储格式有文本文件、CSV文件、JSON文件等。
异常处理: 在实际爬取中,经常会遇到各种异常情况,如网络请求失败、页面解析错误等。在代码中加入适当的异常处理,以增强程序的稳定性。
爬取速度控制: 避免对目标服务器造成过大的负担,可以通过设置适当的爬取速度或者加入延迟来规避被封禁的风险。不过,一些网站可能会在robots.txt中明确规定了爬取速度的限制。
反爬虫策略: 有些网站为了防止被爬取,可能会采取一些反爬虫策略,如验证码、动态加载等。对于这类情况,可能需要使用更高级的技术和工具来应对,例如使用Selenium等自动化测试工具。