问题标签 [dryscrape]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1447 浏览

python - 我如何进行干刮课程?

我正在尝试在 Mac 上进行dryscrape 会话。我试图运行的代码如下:

但是当我运行它时,我得到了这个权限错误:

我试过用 sudo 在终端中运行它,但我仍然得到同样的错误。感谢您的帮助!注意:我会投票给所有答案,并接受最好的答案。

0 投票
1 回答
299 浏览

python - 使用 dryscrape 抓取网页:选择单选按钮 CSS 时出错

我正在尝试从在网页(http://www.madrid.org/wpad_pub/run/j/MostrarFichaCentro.icm?cdCentro=28063799)中使用 javascript 更新的表中获取数据,并且我正在使用 dryscrape。我有一个代码可以很好地处理页面加载时默认生成的表。但是我需要通过单击单选按钮(第二个表中标记为“主要”的单选按钮)来更新其中一个。

我更改了代码,它看起来像这样:

但我收到以下错误:

我也尝试过使用xpath:

但我得到同样的错误。

我使用 Selector Gadget 来获取 CSS 和 XPath。我想单选按钮的路径有一些错误,但我不知道如何修复它。任何的想法?

提前致谢。


更新

@CtheSky 给了我一个适用于单身网址的解决方案。但是当我尝试循环到多个 url 时,我得到一个错误。这是脚本。

知道我做错了什么吗?


解决方案

我终于设法修复它。这是我的一个愚蠢的错误:我调用的第一个 url 没有我正在寻找的按钮元素,所以它返回了错误。我在循环中包含了一个tryandexcept现在它可以工作了。

非常感谢您的帮助@CtheSky

0 投票
1 回答
35 浏览

python - 在 python 浏览器上得到太多结果

朋友们,我想在 espncricinfo 上提取实时比分,我尝试使用 dryscrape :-

请帮我

0 投票
1 回答
816 浏览

python - 如何使用 Python 抓取不返回源代码的网站?

我正在尝试从以下网站抓取公司在澳大利亚证券交易所发布的公告的“ASX 代码”:http ://www.asx.com.au/asx/statistics/todayAnns.do

到目前为止,我已经尝试使用 BeautifulSoup 和以下代码:

但是,当我打印它时,它的打印方式与我手动进入页面并查看页面源时的打印方式不同。我做了一些谷歌搜索并查看了stackoverflow,并认为这是由于页面上运行的Javascript隐藏了html代码。

但是我不确定如何解决这个问题。任何帮助将不胜感激。

提前致谢。

0 投票
1 回答
1125 浏览

python - 如何使用 Python 请求、会话或 dryscrape 维护会话 cookie(退出时过期)?

我在尝试构建一个 python 机器人来检查应用程序的状态时遇到了一些麻烦。为了解释,这里是一个过程的例子:

1.) 访问网站 ( https://examplewebsite.com/checkinfo.do?a=sample

2.) 假设查询字符串是正确的,网站将丢弃一个 cookie。此 cookie 是“会话 cookie”,因此在退出关闭或离开网页时立即过期。

3.) 获取 cookie 后,访问https://examplewebsite.com/step2.do?a=sample

4.) 将请求结果解析到https://examplewebsite.com/step2.do?a=sample

虽然这看起来很简单,但我在向https://examplewebsite.com/step2.do?a=sample发送第二个请求时遇到了问题,并且经常遇到一个页面说“会话已过期”。

我尝试使用 Python requests、Python requests.session 以及 dryscrape 重现此过程。但我无法让它工作 - 我的直觉是,因为 cookie 是一个“会话 cookie”,所以它会在对https://examplewebsite.com/step2.do?a=sample的第二个请求发起时立即出现,但是在页面加载之前。

解释问题的更好方法可能是浏览器行为,使用 Firefox 和 IE,网站的行为如下所示:

1.) 访问网站 ( https://examplewebsite.com/checkinfo.do?a=sample )

  • 成功获取cookie

2.) 将 URL 替换为https://examplewebsite.com/step2.do?a=sample

  • 出现“会话已过期”警告

但是,这确实有效:

1.) 访问网站(链接同上)

  • 成功获取cookie

2.) 在保持第一个选项卡打开的同时,创建第二个选项卡并将 https://examplewebsite.com/step2.do?a=sample粘贴到浏览器中

  • 信息已正确加载,并且不会出现“会话已过期”警告。

所以我的问题是,如何在 Python 中重现“创建新选项卡”的行为,同时保持会话 cookie 在请求之间共享。

这是我在dryscrape中的尝试

不幸的是,上述方法不起作用,并且在第二次请求之前和之后,a.cookies 都不匹配 b.cookies。

注意:网站页面确实有在页面卸载时结束会话的代码。因此,如果 dryscrape 正在做任何相当于卸载页面的操作,那么会话 cookie 将被服务器标记为无效。

0 投票
1 回答
110 浏览

python - 如何在 Python 的 dryscrape 中使用 utf-8 字符?

set我需要在dryscrape 方法中使用 utf-8 字符。但运行后显示此错误:

我的代码(例如):

u'فارسی'更改为search.set(unicode('فارسی', 'utf-8')),但显示此错误。

0 投票
1 回答
266 浏览

cookies - 您如何使用 Dryscrape 设置 cookie?

我想设置 cookie,但它们消失了。

看起来session.set_cookie正在调用session.conn.issue_command("SetCookie", cookie)session.conn 是一个webkit_server.ServerConnection. 我尝试了各种字符串格式,例如

但我从来没有得到一块饼干。

0 投票
0 回答
747 浏览

python - 已安装 webkit_server 但在脚本中找不到

我已经安装了 webkit-server 和 dryscrape - 但是当我运行脚本时,在使用 dryscrape 函数时出现错误。错误如下:

“没有这样的文件或目录:'/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/webkit_server'”

但是,当尝试安装 webkit_server 时,我得到:

已满足要求:/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages (1.0) 中的 webkit_server

要显示我已经安装了它,请参阅链接图像。

我这边的建议是:

  1. webkit_server 和 webkit-server 有区别吗?
  2. webkit_server放错地方了,dryscrape找不到?

我尝试使用 gitclone 安装两者 - 同样的错误

任何建议都会很有用。

pip3 安装包列表包括 webkit-server

0 投票
0 回答
177 浏览

python - 系统找不到用dryscrape指定的文件

我正在尝试像这样使用dryscrape:

但我收到以下错误:

****strong text** 这不是错误:回溯(最近一次通话最后一次):文件“C:/Users/master/Downloads/VEREN.py”,第 3 行,在 session = dryscrape.Session()文件“C:\python\lib\site-packages\dryscrape\session.py”,第 22 行,在 init self.driver = driver 或 DefaultDriver() 文件“C:\python\lib\site-packages\dryscrape\driver \webkit.py",第 30 行,在 init super(Driver, self) 中。初始化(kw) 文件“C:\python\lib\site-packages\webkit_server.py”,第 230 行,在 __init__ self.conn = connection 或 ServerConnection() 文件“C:\python\lib\site-packages\webkit_server.py ",第 507 行,在 __init__ self._sock = (server or get_default_server()).connect() 文件 "C:\python\lib\site-packages\webkit_server.py",第 450 行,在 get_default_server _default_server = Server()文件“C:\python\lib\site-packages\webkit_server.py”,第 416 行,在 __init__ stderr = subprocess.PIPE) 文件“C:\python\lib\subprocess.py”,第 775 行,在 __init__ restore_signals 中, start_new_session) 文件“C:\python\lib\subprocess.py”,第 1178 行,在 _execute_child startupinfo) FileNotFoundError: [WinError 2] 系统找不到指定的文件

0 投票
0 回答
55 浏览

python - 即使对 rwx 的所有权限,webkit_server 文件夹的权限也被拒绝

这是我在执行 python 脚本时不断遇到的错误:

这些是 webkit_server 中文件和文件夹的权限