[网络安全] python爬虫

1120 0
VIPZephyr 2024-4-14 11:08:06 | 显示全部楼层 |阅读模式
[ 本帖最后由 HUC-xamg 于 2024-4-14 11:09 编辑 ]

import requests
from bs4 import BeautifulSoup

def get_webpage_content(url):
    """
    发送GET请求,获取指定URL的网页内容
    """
    try:
        response = requests.get(url)
        response.raise_for_status()  # 如果响应状态码不是200,抛出异常
        return response.text
    except requests.RequestException as e:
        print(f"Error occurred while fetching webpage: {e}")
        return None

def extract_links(html_content):
    """
    解析HTML内容,提取所有链接(a标签的href属性)
    """
    soup = BeautifulSoup(html_content, 'html.parser')
    links = [a['href'] for a in soup.find_all('a', href=True)]
    return links

def main():
    target_url = "https://example.com"  # 替换为您要爬取的实际网址
    page_content = get_webpage_content(target_url)

    if page_content:
        links = extract_links(page_content)
        for link in links:
            print(link)

if __name__ == "__main__":
    main()

在这个例子中:

        1.        get_webpage_content 函数使用 requests.get() 发送GET请求到指定URL,获取网页的HTML文本内容。如果请求成功(HTTP状态码为200),则返回该文本内容;否则,打印错误信息并返回 None。
        2.        extract_links 函数接收HTML文本内容作为输入,使用 BeautifulSoup 对其进行解析。通过 find_all('a', href=True) 查找所有的<a>标签,并提取它们的 href 属性(即链接)。返回一个包含所有链接的列表。
        3.        main 函数定义了主流程:设置目标URL,调用 get_webpage_content 获取网页内容,然后调用 extract_links 提取链接,并打印出来。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Zephyr

超级会员

关注
  • 62
    主题
  • 4
    粉丝
  • 79
    关注
这家伙很懒,什么都没留下!

中国红客联盟公众号

联系站长QQ:5520533

admin@chnhonker.com
Copyright © 2001-2025 Discuz Team. Powered by Discuz! X3.5 ( 粤ICP备13060014号 )|天天打卡 本站已运行