Python学习:使用selenium爬取某个网站时出现的问题

这篇具有很好参考价值的文章主要介绍了Python学习:使用selenium爬取某个网站时出现的问题。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

最近,学习Python爬虫兴奋之时,突发奇想想去爬取网易云音乐的评论,根据所学,先找到评论定位的CSS选择器,然后什么也没有输出,又仔细检查了一下没有任何问题,后来一遍一遍查询资料发现,原来网页中有frame或者iframe时,需要在定位器的前面加这么一句:

web.switch_to.frame(frame标志) # frame标志可以是name,id,class的值

这样再接着往下写就可以满足了,代码如下:文章来源地址https://www.toymoban.com/news/detail-564655.html

import time
from selenium.webdriver import Chrome
from selenium.webdriver.support.select import Select
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By
web=Chrome()
web.get("https://music.163.com/#/song?id=1997437579")
time.sleep(1)
#这行非常重要,相当于在frame内部重新又嵌套了一个新的html文件,所以要用这行去转换到新的html文件内
web.switch_to.frame('g_iframe')
#到音乐列表
#music_list=web.find_elements(By.CSS_SELECTOR,'tbody tr b')  #采用css选择器来定位的
music_list=web.find_elements(By.CSS_SELECTOR,'.n-cmt .cmmts .cntwrap .cnt')
f=open('网易云评论.txt','w',encoding='utf-8')
for music in music_list:
    abs=music.get_attribute('innerHTML').replace('&nbsp','').replace(' ','').replace('r&b','').split('>:')[-1].split('>;')[-1].split('">')[-1].strip()
    f.write(abs)
    f.write('\n')
    # b=music.find_element(By.XPATH,'./td[2]/div/div/div/span/a/b')
    # b.find_element(By.XPATH,'//*[@id="19974375791671691746446"]/td[2]/div/div/div/span/a/b/div')
    # print(b.text)
f.close()

到了这里,关于Python学习:使用selenium爬取某个网站时出现的问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 解决Python安装库时出现的Requirement already satisfied问题

    uirement already satisfied 的问题当我们用 pip install + 库名 时,出现了下面 Requirement already satisfied WARNING: Ignoring invalid distribution -ip  的问题 对于这样的问题,解决办法就是在 pip install 后加 - -target=你所要添加的库文件地址(注意:target前为两个-,并且没有空格) 再加 库名 一般来说

    2024年01月19日
    浏览(40)
  • 自己在使用cmd安装playWright时出现的error及其解决方法

    按照正常的流程步骤安装Playwright; 要使用 Playwright,需要 Python 3.7 版本及以上,请确保 Python 的版本符合要求。 pip install playwright 安装Playwright自动化测试框架 playwright install         安装Playwright浏览器驱动程序:自动安装Chromium、Firefox和WebKit浏览器(下载的时间可能会有

    2024年02月12日
    浏览(46)
  • 使用爬虫爬取百度搜索结果及各网站正文(request库、selenium库和beautifulsoup库)

    任务: 给定搜索词,获取百度搜索结果 根据各项结果获取对应网站正文部分 header实际为一个字典,为访问百度时提供必要的信息。 一般来讲只需要提供 Cookie 就可以访问大多数网站,其余可能需要的还有 Host 、 User-Agent 等 通过分析百度搜索url可以发现 https://www.baidu.com/s?wd=茅

    2024年03月27日
    浏览(54)
  • UE4.27.2 源码使用 VS2022 编译时出现的错误的解决方法

    Fstring 的获得指针的函数是 nodiscard 的,但是目前这个表达式是可能 discard 的 https://forums.unrealengine.com/t/build-from-source-fails-with-errors-c4834-and-msb3073/1266696/4 我遇到的错误如下 这应该是说明 10.0.22621.0 是不适用的 我在网上看到了别人的解决办法是只保留 Win 10 的 SDK,不要 Win 11 的

    2024年02月07日
    浏览(61)
  • Python爬虫:如何使用Python爬取网站数据

    更新:2023-08-13 15:30 想要获取网站的数据?使用Python爬虫是一个绝佳的选择。Python爬虫是通过自动化程序来提取互联网上的信息。本文章将会详细介绍Python爬虫的相关技术。 在使用Python爬虫之前,我们需要理解网络协议和请求。HTTP是网络传输的重要协议,它是在Web浏览器和

    2024年02月13日
    浏览(49)
  • 使用“vue init mpvue/mpvue-quickstart“初始化mpvue项目时出现的错误及解决办法

    当使用\\\"vue init mpvue/mpvue-quickstart\\\"初始化 mpvue 项目时出现 原因是 github 的 IP 解析失败,连接超时 解决办法:更改最新的 github 的 IP 解决步骤: 打开 IP 查询或者其他 IP 查询网站 输入 github.com 进行查询 找到一大堆 IP 在终端运行 ping IP 在这里我找了三个,前两个都是请求超时 这

    2024年02月09日
    浏览(41)
  • 解决微信小程序recycle-view使用百分比单位控制宽高时出现的内容溢出问题

    recycle-view是微信小程序官方推出的一个经过优化的长列表组件,但是在使用百分比单位控制高宽时有个内容溢出问题,虽然它提供了height和width的参数可以设置宽高,但每次写列表都需要去js里获取宽高并设置是较为麻烦的,所以现在来着手解决使用百分比单位设置宽度时碰到

    2024年02月03日
    浏览(46)
  • selenium爬虫框架爬取某壁纸网站

    基础知识 环境配置 开始爬虫 简单分析目标网站 写函数 获取浏览器对象: 下载每一张图片: 获取每一页的源代码: 运行print_result_every_page python基础语法 面向对象基础 html基础 xpath基础 selenium框架的基本使用 request库 lxml库      3.安装浏览器xpath插件         打开谷歌浏览

    2024年02月05日
    浏览(43)
  • Python爬虫|使用Selenium轻松爬取网页数据

    1. 什么是selenium? Selenium是一个用于Web应用程序自动化测试工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作浏览器一样。支持的浏览器包括IE,Firefox,Safari,Chrome等。 Selenium可以驱动浏览器自动执行自定义好的逻辑代码,也就是可以通过代码完全模拟成人类使用

    2024年02月04日
    浏览(58)
  • Python使用Selenium Webdriver爬取网页所有内容

    有时候,我们在用urllib或者requests库抓取页面时,得到的html源代码和浏览器中看到的不一样。这将是我们面临的一个非常常见的问题。现在网页越来越多地采用Ajax、前端模块化工具来构建,整个网页可能都是由JavaScript渲染出来的,也就是说原始的HTML代码可能就是一个空壳,

    2023年04月08日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包