下面是一个简洁的 Python 爬虫代码示例,使用 requests
和 BeautifulSoup
库来抓取网页内容。为了减少被反爬虫机制识别的风险,代码中加入了随机的 User-Agent 头。
首先,确保你已经安装了所需的库:
pip install requests beautifulsoup4 fake-useragent
然后,你可以使用以下代码:
import requests
from bs4 import BeautifulSoup
from fake_useragent import UserAgent
import time
import random
# 创建一个 UserAgent 实例
ua = UserAgent()
# 目标网址
url = 'https://example.com'
# 请求函数
def fetch_data(url):
headers = {
'User-Agent': ua.random,
'Accept-Language': 'en-US,en;q=0.9',
}
response = requests.get(url, headers=headers)
if response.status_code == 200:
return response.text
else:
print(f"请求失败,状态码: {response.status_code}")
return None
# 解析函数
def parse_data(html):
soup = BeautifulSoup(html, 'html.parser')
# 根据需要修改解析逻辑
titles = soup.find_all('h2')
return [title.get_text() for title in titles]
# 主逻辑
def main():
html = fetch_data(url)
if html:
data = parse_data(html)
for item in data:
print(item)
time.sleep(random.uniform(1, 3)) # 随机延时,减少被反爬风险
if __name__ == '__main__':
main()
代码说明:
- User-Agent:使用
fake-useragent
随机生成 User-Agent,模拟不同的浏览器请求。 - 请求延时:在请求之间随机延时,避免触发反爬虫机制。
- 解析网页:使用
BeautifulSoup
解析 HTML 内容,根据需要修改解析逻辑。