仄言· 2023-06-21 17:18 采纳率: 0%
浏览 16

怎么爬取一个网页某个div 的class里的所有链接

使用 Python 的 requests 和 BeautifulSoup 库进行操作,怎么爬取一个网页某个div 的class里的所有链接?

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-06-21 20:31
    关注
    • 建议你看下这篇博客👉 :python中用requests库和BeautifulSoup库爬的大学排名
    • 除此之外, 这篇博客: Python下基于requests及BeautifulSoup构建网络爬虫中的 案例 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
    • 假设我要http://maoyan.com/board/4猫眼电影的top100电影的相关信息,如下截图:
      这里写图片描述

      获取电影的标题及url。

    • 您还可以看一下 郭宏志老师的Python爬虫实战(Requests+BeautifulSoup版)课程中的 课程简介小节, 巩固相关知识点
    • 以下回答由chatgpt基于相关博客总结生成:

      我可以根据参考资料中的代码,结合问题中给出的具体信息来解决问题。假设要爬取的网页URL为'https://example.com',要抓取的div元素的class为'link-div',需要抓取所有链接的绝对链接。

      1. 首先导入需要用到的库:
      import requests
      from bs4 import BeautifulSoup
      
      1. 定义一个函数get_links(),用来获取所有链接
      def get_links(url):
          response = requests.get(url)
          soup = BeautifulSoup(response.content, 'html.parser')
          divs = soup.find_all('div', {'class': 'link-div'})
          links = []
          for div in divs:
              for a in div.find_all('a'):
                  link = a.get('href')
                  if link.startswith('http'):
                      links.append(link)
                  else:
                      links.append(url+link)
          return links
      

      这个函数首先发送GET请求获取网页内容,然后使用BeautifulSoup解析网页内容。接着查找所有class为'link-div'的div元素,再在这些div元素中查找所有a标签,最后将a标签中href属性开头为'http'的绝对链接和其他相对链接拼接成绝对链接后存储到列表中。

      1. 调用get_links()函数获取所有链接
      all_links = get_links('https://example.com')
      

      这样就可以获取到所有链接了,可以进一步处理或者直接输出。

      如果要进一步提取链接对应的页面内容,可以在for循环中使用requests.get()请求链接并用BeautifulSoup解析内容,然后进行相应的数据抓取和处理。

    评论

报告相同问题?

问题事件

  • 已采纳回答 6月21日
  • 创建了问题 6月21日

悬赏问题

  • ¥20 有偿:在ubuntu上安装arduino以及其常用库文件。
  • ¥15 请问用arcgis处理一些数据和图形,通常里面有一个根据点划泰森多边形的命令,直接划的弊端是只能执行一个完整的边界,但是我们有时候会用到需要在有很多边界内利用点来执行划泰森多边形的命令
  • ¥30 在wave2foam中执行setWaveField时遇到了如下的浮点异常问题,请问该如何解决呢?
  • ¥20 看图片)删除这个自动化录屏脚本就一直报错找不到脚本文件,如何解决?(相关搜索:bat文件)
  • ¥750 关于一道数论方面的问题,求解答!(关键词-数学方法)
  • ¥200 csgo2的viewmatrix值是否还有别的获取方式
  • ¥15 Stable Diffusion,用Ebsynth utility在视频选帧图重绘,第一步报错,蒙版和帧图没法生成,怎么处理啊
  • ¥15 请把下列每一行代码完整地读懂并注释出来
  • ¥15 pycharm运行main文件,显示没有conda环境
  • ¥15 寻找公式识别开发,自动识别整页文档、图像公式的软件