首页 > 解决方案 > 刚开始研究python,想问一下美汤

问题描述

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

我使用 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-Tsw1-TcB-T 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:我通过使用硒解决了它。无论如何,谢谢你们!

标签: htmlbeautifulsouppython-requests

解决方案


这里有几个问题:

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。


推荐阅读