python学习第二周:爬虫—使用 requests 和 BeautifulSoup 库来抓取网页内容

下面是一个简洁的 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()

代码说明:

  1. User-Agent:使用 fake-useragent 随机生成 User-Agent,模拟不同的浏览器请求。
  2. 请求延时:在请求之间随机延时,避免触发反爬虫机制。
  3. 解析网页:使用 BeautifulSoup 解析 HTML 内容,根据需要修改解析逻辑。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值