小编rud*_*vic的帖子

如何检测网站是否允许您上传文件?

我想知道某个网站是否允许您上传文件。我可以想到网站执行此操作的两种主要方式,理想情况下我希望能够检测到这两种方式:

  • 按钮
  • 拖放

PhantomJS 文档有以下示例片段:

var webPage = require('webpage');
var page = webPage.create();

page.uploadFile('input[name=image]', '/path/to/some/photo.jpg');
Run Code Online (Sandbox Code Playgroud)

但不清楚我如何弄清楚它input[name=image]实际上支持上传。

目前,我的爬虫正在跟踪网站上的所有链接和按钮,但我不确定如何检测“文件上传弹出窗口已打开”。D&D 的案例对我来说更不清楚。我需要一个针对单个页面的解决方案,显然我可以将其应用到我通过的每个页面。

更新事实 证明,大多数情况下这都可以解决问题:

document.querySelector('input[type=file]').click()
Run Code Online (Sandbox Code Playgroud)

然而,D&D 区域并不总是可点击的,并且您不能总是假设它[ondrop]会存在。有时,删除侦听器会在代码中添加:

object.addEventListener("drop", myScript);
Run Code Online (Sandbox Code Playgroud)

那么我该如何检查这些元素的存在呢?

javascript selenium file-upload web-crawler web-scraping

9
推荐指数
1
解决办法
1051
查看次数

将结构化条目字典解析为美化的 Excel 工作表

我有这个 python 字典,我想将这些数据写入 Excel 文件。

\n

注意:有很多类别,每个类别有很多汽车(为简单起见,我使用了 2 个类别)

\n
data = {"Category": {"Diesel" : [{\n                                "Name": "Land Rover", \n                                "Description":"No Description Found", \n                                "Price": "\xc2\xa3 x" }],\n\n                     "Electric" : [{"Name": "Tesla Model X", \n                                  "Description":"No Description Found", \n                                  "Price": "\xc2\xa3 x" }]\n                    }               \n        }\n
Run Code Online (Sandbox Code Playgroud)\n

期望的输出:

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n\n\n\n\n\n\n
类别姓名描述价格
柴油机
路虎未找到描述\xc2\xa3 x
电的
特斯拉 Model X未找到描述\xc2\xa3 x
\n

python excel dictionary dataframe pandas

3
推荐指数
1
解决办法
157
查看次数