爬虫基础知识点快速入门

news/2024/7/24 10:53:18 标签: 爬虫

以下是一个包含注释的Python示例,演示了基本的网页爬取过程,以及一些常见的爬虫知识点:

# 导入必要的库
import requests  # 用于发送HTTP请求
from bs4 import BeautifulSoup  # 用于解析HTML
import csv  # 用于数据存储

# 1. 指定目标网站的URL
url = 'https://example.com'

# 2. 发送GET请求,获取网页内容
response = requests.get(url)

# 3. 检查请求是否成功
if response.status_code == 200:
    # 4. 使用BeautifulSoup解析网页内容
    soup = BeautifulSoup(response.text, 'html.parser')

    # 5. 找到需要的信息,例如标题
    title = soup.title.text

    # 6. 打印标题
    print(f'Title: {title}')

    # 7. 查找所有链接
    links = soup.find_all('a')

    # 8. 打印所有链接
    for link in links:
        href = link.get('href')
        print(f'Link: {href}')

    # 9. 数据存储示例:将标题和链接写入CSV文件
    with open('data.csv', 'w', newline='', encoding='utf-8') as csvfile:
        csvwriter = csv.writer(csvfile)
        csvwriter.writerow(['Title', 'Link'])
        for link in links:
            href = link.get('href')
            csvwriter.writerow([title, href])

else:
    print('Failed to retrieve the web page.')

# 注意:请将'https://example.com'替换为你要爬取的网站的实际URL

这个示例演示了以下爬虫基础知识点:

  1. 指定目标网站的URL。
  2. 使用requests库发送HTTP GET请求来获取网页内容。
  3. 检查请求是否成功(HTTP状态码为200表示成功)。
  4. 使用BeautifulSoup解析HTML内容。
  5. 查找所需的信息,例如标题。
  6. 打印标题和其他信息。
  7. 查找所有链接。
  8. 打印所有链接。
  9. 数据存储示例:将标题和链接写入CSV文件。

请确保你已经安装了以上使用的库,你可以使用以下命令来安装它们:

pip install requests
pip install beautifulsoup4
pip install csv


http://www.niftyadmin.cn/n/5078198.html

相关文章

practical on mifare

抽象的。 mifare Classic 是市场上使用最广泛的非接触式智能卡。 其设计和实施细节由制造商保密。 本文研究了该卡的体系结构以及卡与读卡器之间的通信协议。 然后,它提供了一种实用的、低成本的攻击,可以从卡的内存中恢复秘密信息。 由于伪随机生成器的…

linux_三剑客(grep,sed,awk)

前言: Bash:是一个命令处理器,运行在文本窗口中,并能执行用户直接输入的命令。 Bash还能从文件中读取Linux命令,称之为脚本。 Bash支持通配符,管道,命令替换,条件判断等逻辑控制语句。 快捷…

数学术语之源——单射(injection),满射(surjection),双射(bijection)

1. 单射或入射(injection) 1.1 injection的词源 词义为“a forcing of a fluid into a body (with a syringe, etc.)(迫使液体进入体内(使用注射器等))”(始于15世纪早期),来自古法语“iniection ”(14世纪)或者直接来自拉词语“iniectionem (主格‘iniectio’)”&…

数据采集平台(二)

5. 安装Kafka 5.1 基础架构 为方便扩展,并提高吞吐量,一个topic分为多个partition配合分区的设计,提出消费者组的概念,组内每个消费者并行消费为提高可用性,为每个partition增加若干副本,类似NameNode HA…

深度学习环境搭建【显卡算力、CUDA、pytorch、tensorflow选择】

总结:深度学习环境搭建【显卡算力、CUDA、pytorch、tensorflow选择】 一、了解自己的显卡,确定其对应的算力二、根据算力、显卡驱动,选择cuda版本三、pytorch版本选择四、tensorflow版本选择 一、了解自己的显卡,确定其对应的算力…

接口自动化测试方案模版。希望可以帮到你

XXX接口自动化测试方案 1、引言 1.1 文档版本 版本 作者 审批 备注 V1.0 XXXX 创建测试方案文档 1.2 项目情况 项目名称 XXX 项目版本 V1.0 项目经理 XX 测试人员 XXXXX,XXX 所属部门 XX 备注 1.3 文档目的 本文档主要用于指导XXX-Y…

Python数据容器——字典的常用操作(增、删、改、查)

作者:Insist-- 个人主页:insist--个人主页 本文专栏:Python专栏 专栏介绍:本专栏为免费专栏,并且会持续更新python基础知识,欢迎各位订阅关注. 目录 一、理解字典 1. Python字典是什么? 2. 字…

Python接口自动化搭建过程,含request请求封装!

开篇碎碎念 接口测试自动化好处 显而易见的好处就是解放双手😀。 可以在短时间内自动执行大量的测试用例通过参数化和数据驱动的方式进行测试数据的变化,提高测试覆盖范围快速反馈测试执行结果和报告支持持续集成和持续交付的流程 使用Requestspytes…