前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >爬虫新手必经之路:掌握三大经典练手项目,抓取网页内容、链接、图片链接,练就爬虫高手的独门绝技!

爬虫新手必经之路:掌握三大经典练手项目,抓取网页内容、链接、图片链接,练就爬虫高手的独门绝技!

作者头像
小白的大数据之旅
发布2024-11-20 19:24:08
发布2024-11-20 19:24:08
9500
代码可运行
举报
运行总次数:0
代码可运行

想在Python爬虫界大展拳脚?来,三个实战项目让你秒变高手!想象一下,你不仅能轻松抓取网页的丰富内容,仿佛把互联网的精华都收入囊中;还能精准揪出页面里藏着的所有链接,就像侦探一样穿梭在信息的迷宫;更绝的是,一键收集网页上的图片链接,让美图无所遁形,仿佛拥有了一双透视眼,直击视觉盛宴的源头。这不仅仅是对requests、BeautifulSoup、re模块的深度锤炼,更是面试时让面试官眼前一亮的绝技,让你在编程江湖里游刃有余,大放异彩!三个项目,一站式解锁爬虫高手之路,你准备好了吗?

案例一:抓取网页内容

目标:

抓取指定网页的HTML内容并打印出来。

工具:

requests库用于发送HTTP请求,BeautifulSoup库用于解析HTML。

代码

代码语言:javascript
代码运行次数:0
复制
# 导入所需的库
import requests  # 用于发送HTTP请求
from bs4 import BeautifulSoup  # 用于解析HTML

# 定义要抓取的网页URL
url = 'http://example.com'  # 示例URL,请替换为实际要抓取的网页

# 发送HTTP GET请求
response = requests.get(url)  # 获取网页的响应对象

# 检查请求是否成功
if response.status_code == 200:  # 200表示请求成功
    # 获取网页的HTML内容
    html_content = response.text  # 响应对象中的text属性包含HTML内容
    
    # 使用BeautifulSoup解析HTML内容
    soup = BeautifulSoup(html_content, 'html.parser')  # 创建BeautifulSoup对象,指定解析器为html.parser
    
    # 打印网页的标题(<title>标签内的内容)
    print(soup.title.string)  # 获取<title>标签并打印其内容
else:
    print(f"请求失败,状态码:{response.status_code}")  # 打印失败的状态码

注释:

  • requests.get(url):发送GET请求到指定的URL。
  • response.status_code:检查HTTP响应的状态码,200表示请求成功。
  • response.text:获取响应的HTML内容。
  • BeautifulSoup(html_content, ‘html.parser’):使用BeautifulSoup解析HTML内容,指定解析器为html.parser。
  • soup.title.string:获取HTML中的<title>标签并打印其内容。

案例二:抓取网页中的链接

目标:

抓取指定网页中的所有链接并打印出来。

代码:

代码语言:javascript
代码运行次数:0
复制
import requests
from bs4 import BeautifulSoup

url = 'http://example.com'  # 示例URL

response = requests.get(url)

if response.status_code == 200:
    html_content = response.text
    soup = BeautifulSoup(html_content, 'html.parser')
    
    # 查找所有的<a>标签
    links = soup.find_all('a')  # 返回一个包含所有<a>标签的列表
    
    # 遍历列表并打印每个链接的href属性
    for link in links:
        href = link.get('href')  # 获取<a>标签的href属性
        if href:  # 检查href属性是否存在
            print(href)  # 打印链接
else:
    print(f"请求失败,状态码:{response.status_code}")

注释:

  • soup.find_all(‘a’):查找HTML中的所有<a>标签,并返回一个列表。
  • link.get(‘href’):获取<a>标签的href属性,即链接地址。
  • if href::检查href属性是否存在,避免打印空值。

案例三:抓取网页中的图片链接

目标:

抓取指定网页中的所有图片链接并打印出来。

代码

代码语言:javascript
代码运行次数:0
复制
import requests
from bs4 import BeautifulSoup

url = 'http://example.com'  # 示例URL

response = requests.get(url)

if response.status_code == 200:
    html_content = response.text
    soup = BeautifulSoup(html_content, 'html.parser')
    
    # 查找所有的<img>标签
    images = soup.find_all('img')  # 返回一个包含所有<img>标签的列表
    
    # 遍历列表并打印每个图片的src属性
    for image in images:
        src = image.get('src')  # 获取<img>标签的src属性,即图片链接
        if src:
            print(src)  # 打印图片链接
else:
    print(f"请求失败,状态码:{response.status_code}")

注释:

  • soup.find_all(‘img’):查找HTML中的所有<img>标签,并返回一个列表。
  • image.get(‘src’):获取<img>标签的src属性,即图片链接地址。
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-11-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 案例一:抓取网页内容
    • 目标:
    • 工具:
    • 代码
    • 注释:
  • 案例二:抓取网页中的链接
    • 目标:
    • 代码:
    • 注释:
  • 案例三:抓取网页中的图片链接
    • 目标:
    • 代码
    • 注释:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档