2017-08-17 76 views
0

我写一个剧本,我的雇主从他们自己的网站获得某些数据。由于一长串原因,我需要从网站上获取数据。我发现,有些数据是通过js调用来检索的...获取机械化和斜纹说话

回想起来,我应该去机械化,但我去斜纹(想我会有机会接触,因为斜纹自我描述为用于机械化的薄包装)该项目只是一个完成后的电话,我绝对不想重写所有基于斜纹的机械化代码。

我需要提交未附加到表单POST请求。所以我需要机械化(或类似的lib)。据斜纹的文档,应该有一个机械化浏览器对象通​​过下面的代码检索:

#after logging in and successfully loading pages 
b = get_browser() 
mb = b._browser 

我得到: AttributeError: 'TwillBrowser' object has no attribute '_browser'

看着似乎斜纹的浏览器不使用机械化的浏览器了源?

所以我的问题是:

  1. 还是里面有一个斜纹机械化浏览器。
  2. 如果是这样,我该如何得到它?
  3. 如果没有,我怎么能得到从斜纹饼干机械化,所以我可以使用这些Cookie的要求吗?

理想我想这样是这样的:

cjar = 'cookies.yaml' 
save_cookies(cjar) 
mb.open(url, data=data, cookies=cjar) 

但我知道我需要的不仅仅是添加饼干=文件名:)

+0

也 - 机械化不与Ajax调用帮助反正Ajax调用似乎使用JSON。 :( –

回答

0
  1. 一点更神奇的是还有一个在斜纹里面机械化浏览器。
  2. 如果是这样,我怎么得到它?

不是,它不再被修成斜纹。虽然pip安装斜纹仍然包括机械化斜纹的文件,斜纹的代码从来没有进口这些模块。

  • 如果没有,我怎么能得到从斜纹饼干机械化,所以我可以使用这些Cookie的要求吗?
  • 从我读过的内容来看,似乎没有一个简单或无足轻重的方法来做到这一点。 您可以从斜纹中保存_Cookies(但您无法自定义它们的保存方式)。机械化需要读取cookie文件的帮助,当它加载它们时,需要忽略持久性等等。机械化确实可以让你做到这一点,但是我还没有找到任何可用的代码。
    在我的情况下,更容易编写,将登录我在两个斜纹和机械化的方法。