【问题标题】:Just starting looking into python, Want to ask about beautiful soup刚开始研究python,想问一下美汤
【发布时间】:2020-01-01 20:58:10
【问题描述】:

所以我试图在 Google 驱动器中获取网络爬取元素。我想要的是文件的修改日期。

而我使用F12查找元素,得到如下选择器

身体> div.ndfHFb-c4YZDc.ndfHFb-c4YZDc-AHmuwe-Hr88gd-OWB6Me.ndfHFb-c4YZDc-vyDMJf-aZ2wEe.ndfHFb-c4YZDc-i5oIFb.ndfHFb-c4YZDc-TSZdd

div.ndfHFb-c4YZDc-MZArnb-b0t70b.ndfHFb-c4YZDc-MZArnb-b0t70b-L6cTce > div.ndfHFb-c4YZDc-MZArnb-bN97Pc.ndfHFb-c4YZDc-s2gQvd > div.ndfHFb-c4YZDc-MZArnb-Tswv1b-nUpftc > div:nth-child(1) > div.ndfHFb-c4YZDc-MZArnb-BKwaUc-bN97Pc > div > div:nth-child(6) > div.ndfHFb-c4YZDc-MZArnb-BKwaUc-V67aGc.ndfHFb-c4YZDc-MZArnb-Tswv1b-V67aGc

为此,我使用 BS4 创建了以下代码。

from bs4 import BeautifulSoup as bs
import requests
req= requests.get ('https://drive.google.com/file/d/12_Lu1VHQI-yjvCPEwUhjonRyGHEczpRc/view')
base= req.text
print(base)
Find_ver=Sr.select('body > div.ndfHFb-c4YZDc.ndfHFb-c4YZDc-AHmuwe-Hr88gd-OWB6Me.ndfHFb-c4YZDc-vyDMJf-aZ2wEe.ndfHFb-c4YZDc-i5oIFb.ndfHFb-c4YZDc-TSZdd > div.ndfHFb-c4YZDc-MZArnb-b0t70b.ndfHFb-c4YZDc-MZArnb-b0t70b-L6cTce > div.ndfHFb-c4YZDc-MZArnb-bN97Pc.ndfHFb-c4YZDc-s2gQvd > div.ndfHFb-c4YZDc-MZArnb-Tswv1b-nUpftc > div:nth-child(1) > div.ndfHFb-c4YZDc-MZArnb-BKwaUc-bN97Pc > div > div:nth-child(6) > div.ndfHFb-c4YZDc-MZArnb-BKwaUc-V67aGc.ndfHFb-c4YZDc-MZArnb-Tswv1b-V67aGc' )
print (Find_ver)

但这一直在打印 [] null dict,有什么帮助吗?

编辑:该链接是可共享的链接。共享链接也需要登录吗?

Edit2:我使用硒解决了这个问题。谢谢大家!

【问题讨论】:

  • google 驱动器隐藏在 bs4 无法通过的登录墙后面。您应该查看谷歌的驱动器 api 以访问此信息
  • @Mikolaj Figurski 关于Api,我正在尝试制作每个人都可以使用的exe,驱动api可以制作那种东西吗?上面的链接是共享链接,每个人都可以在没有登录的情况下访问,这有什么不同吗?
  • @Jun 如果您解决了问题,请发布答案并单击复选标记将问题标记为已解决。

标签: html beautifulsoup python-requests


【解决方案1】:

这里有几个问题:

a) 你没有实例化任何汤实例

我实际上建议阅读这里的文档,因为 bs4 以类似教程的格式描述得很好:https://beautiful-soup-4.readthedocs.io/en/latest/。 很可能,你会想要这样的东西:

link = '<whatever website link>'
soup = bs(request.get(link))

b) 您要检索的网站可能没有您想要的信息。

如果您将请求文本写入 html 文件,则不是真正的可见日期

c) Sr 未定义。不知道应该是什么

也就是说,google drive api 和 google python cli 是执行您想做的最简单的方法。 cli(它是 api 本身的 python 接口)绝对可以编译为 exe。

【讨论】:

    【解决方案2】:

    通过使用硒解决。它显示了通过请求 html 无法访问的隐藏功能。

    还是谢谢大家帮忙!

    【讨论】:

      猜你喜欢
      • 2013-09-10
      • 2016-12-13
      • 2018-04-12
      • 1970-01-01
      • 1970-01-01
      • 2011-10-30
      • 2020-12-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多