从网站Python抓取数据-交互后

时间:2020-08-13 00:03:11

标签: python html web-scraping beautifulsoup python-webbrowser

大家好!

我的一个朋友在她的IT课上必须为学校做很多打字工作。这意味着,她必须学习如何在键盘上快速键入。她很懒惰,她问我是否有办法不做任何事情就能在https://at4.typewriter.at/index.php?r=site/index上输入文字。我对自己说:“嘿,这是个好主意,我会调查一下。”

This is how the website looks like

那是她必须键入的网站。有一个

我面临的问题是我不知道如何从已经在Webrowser中打开/已经编辑/已经与之交互的网站中抓取数据。我对任何建议或解决方案感到满意!

谢谢!

2 个答案:

答案 0 :(得分:3)

通常,您会有人要求您到目前为止已经尝试了什么以及您的代码,但是我知道您真的不知道如何开始这个问题。

如果您需要Python脚本能够在用户与网站进行交互之后介入,那么您将面临巨大的挑战。有很多变量,例如正在使用什么浏览器,在什么操作系统上,在什么分辨率下以及在哪些设置下等等。

与实时应用程序进行交互将相当困难,尽管并非不可能。如果该站点可以完全使用键盘来操作,并且您可以找到一些可靠的键盘输入序列,这些序列可以找到正确的控件以将输入发送到该控件,则可能是一种方法,并且pywin32之类的库可以提供对API调用的访问权限您需要将输入发送到屏幕。

但是,更好的方法可能是完全切掉用户并让脚本执行所有交互。您可以通过selenium之类的东西和ChromeDriver之类的驱动程序来做到这一点,该驱动程序基本上可以让您像用户一样使用其所有脚本来操作网站。

您可能应该研究这两种方法中的一种,并提出基本的尝试来提出更具体的问题。

答案 1 :(得分:0)

我真的建议您将selenium作为网络驱动程序使用,它可以实现自动化和类似于BS4的抓取,以专门与DOM元素进行交互。

我不太确定该网站,因为我不能完全访问它,但是,我相信如果您查看硒文档,您应该可以解决您的查询!

使用selenium可能需要安装浏览器驱动程序,因此可能取决于设置和安装/执行的内容。我认为硒python绑定相对简单,但是比BS4稍微复杂一些。我建议您检查其他SO帖子,以防您陷入困境或尝试深入documentation