Python脚本爬取页面上限定类明的a标签地址

源码:爬取类名为target_classname的a标签地址并另存为到urls.txt文件中

import requests
from bs4 import BeautifulSoup
from urllib.parse import urljoin  # 用于处理相对URL

def scrape_links(url):
    page = 1
    while True:
        # 构造目标页面的 URL,假设分页参数是 page
        page_url = f"{url}?page={page}"
        print(f"正在爬取第 {page} 页: {page_url}")
        
        # 发送 HTTP 请求获取页面内容
        response = requests.get(page_url)
        
        # 如果请求成功
        if response.status_code == 200:
            # 解析 HTML 内容
            soup = BeautifulSoup(response.text, 'html.parser')
            
            # 找到所有 class 为 arget_classname 的 a 标签
            links = soup.find_all('a', class_='target_classname')
            
            if not links:  # 如果当前页没有链接,说明已经是最后一页
                break
            
            # 打开文件进行写入
            with open('urls.txt', 'a') as file:  # 使用 'a' 模式,避免覆盖
                for link in links:
                    href = link.get('href')
                    if href:
                        # 将相对URL转换为绝对URL
                        full_url = urljoin(url, href)  # 拼接前缀
                        file.write(full_url + '\n')
            print(f"第 {page} 页的链接已保存")
            
            # 增加页码,爬取下一页
            page += 1
        else:
            print(f"请求失败,状态码: {response.status_code}")
            break

if __name__ == "__main__":
    target_url = input("请输入目标网址: ")
    scrape_links(target_url)

input("按任意键退出...")

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值