相关疑难解决方法(0)

如何解析DOM(REACT)

我试图从网站上抓取数据.该网站使用Facebook的React.因此,我可以使用Jaunt解析的源代码与我在使用Chrome检查器检查元素时看到的代码完全不同.

我对这一切知之甚少,但做了一些研究后我认为这与DOM而不是源代码有关.我需要一种能够获得这个DOM代码的方法,因为原始的源代码包含我想要的任何东西,但我没有最模糊的想法从哪里开始(甚至在这里阅读了很多答案).

是我想要抓取的页面的一个示例.例如,为了抓住描述,我想抓住标签之间的内容:

<span class="light-font extended-card-description list-group-item">Example description....</span>
Run Code Online (Sandbox Code Playgroud)

但正如您所看到的,此元素仅在您" 检查元素 " 时出现,而不是在我查看页面源时出现.

我在这里问你天才的问题是,如何抓住这个DOM代码并开始抓取我真正想要的元素?

请原谅我,如果我的术语完全关闭,但正如我所说,这对我来说是一个全新的领域,我已经做了我能做的研究.

非常感谢你提前!

html javascript node.js web-scraping reactjs

16
推荐指数
1
解决办法
9624
查看次数

在线HTTP客户端

有没有人知道任何可以发送自定义HTTP请求并打印出响应的在线HTTP客户端?

要求:

  • 在线客户
  • 无需下载/安装任何东西

http http-headers web

14
推荐指数
2
解决办法
2万
查看次数

使用C#刮取html文档中JavaScript动态生成的数据

如何使用C#抓取html文档中JavaScript动态生成的数据?

使用WebRequestHttpWebResponse在C#库中,我能够将整个html源代码作为字符串,但难点是我想要的数据不包含在源代码中; 数据由JavaScript动态生成.

另一方面,如果我想要的数据已经在源代码中,那么我可以使用正则表达式轻松获取它们.

我已经下载了HtmlAgilityPack,但我不知道它是否会处理由JavaScript动态生成项目的情况......

非常感谢你!

html javascript c# dom http

10
推荐指数
1
解决办法
1万
查看次数

在python中获取执行的javascript内容

有没有办法从网页上获取执行的javascript内容?我已经尝试过请求+ BeautifulSoup,机械化,这些让我得到了网页的"源代码",而不是执行的javascript.例如,这个网站: - http://listen.tidal.com/login

正如您所看到的,在源代码中,存在未执行的JS,但是,当您检查元素时,您将看到执行的代码.

现在,有什么方法可以在python中获得EXECUTED代码吗?请提示,因为我尝试使用mechanize来模拟浏览器,它就像reuqests一样.谢谢

javascript browser request python-2.7

8
推荐指数
1
解决办法
1213
查看次数

前端集成测试

我正在考虑进行一些前端集成测试,但在这方面遇到了一些困难。我知道如何进行 javascript 单元测试,但我并没有真正了解前端测试的想法。

我想测试的一些场景:

  • 页面加载后,我可以检查特定div是否填充了内容
  • 单击按钮后,应该会出现一个弹出窗口,是否可以测试
  • div 是否应用了特定的 HTML?

最好使用什么工具?我该如何继续呢?

javascript testing jquery frontend integration-testing

5
推荐指数
1
解决办法
8013
查看次数

刮HTML和JavaScript

我正在开展一个项目,我需要抓取几个网站并从中收集不同类型的信息.文本,链接,图像等信息

我正在使用Python.我在HTML页面上为此目的尝试了BeautifulSoup并且它可以工作,但是在解析包含大量JavaScript的网站时我很困难,因为这些文件的大部分信息都存储在<script>标记中.

任何想法如何做到这一点?

javascript python parsing web-crawler web-scraping

5
推荐指数
1
解决办法
9700
查看次数

适合多线程的轻量级无头浏览器

我用 Selenium 编写了几个项目,它完美地满足了我的所有需求,然后我需要一个无头浏览器,并使用 PhantomJS 编写了一个小测试,它工作得很好。然而,PhantomJS 使用了太多内存来启动数百个实例,而这正是我在下一个项目中需要的。

在阅读并重新阅读这个问题和许多其他问题之后: 无头浏览器和抓取 - 解决方案

并进行了大量的在线搜索,我仍然不确定哪种无头浏览器可以满足我的需求。

我需要的:

  • JavaScript、Ajax、HTML 5 支持
  • 代理支持
  • 内存和 CPU 使用率足够低,因此我可以同时运行至少 100 个实例
  • 在 Windows 机器上运行

我的希望是:

  • C# .Net 包装器(不是破坏交易的因素)
  • 无需安装
  • 良好的文档
  • 基于Webkit

目前,ZombieJs 和 HTMLUnit 是我想要测试的两个解决方案,但在我投入大量时间之前,我希望有人已经完成了类似的项目,并且可以为我指明正确的方向。

browser multithreading headless htmlunit

5
推荐指数
0
解决办法
1618
查看次数

用漂亮的汤刮:为什么get_text方法不会返回这个元素的文本?

最近我一直在研究python中的一个项目,涉及为某些代理抓取一些网站.我遇到的问题是,当我试图刮掉一个众所周知的代理站点时,当我要求它找到代理表中IP的位置时,Beautiful Soup并不能达到我的预期.我将尝试为每个代理的IP寻找,当我.get_text()在相应的元素上使用Beautiful Soup的方法时,我会得到这样的输出.

...

.UbZT{display:none}
.f5fa{display:inline}
.Glj2{display:none}
.cUce{display:inline}
.zjUZ{display:none}
.GzLS{display:inline}
98120169.117.186373161218218.83839393101138154165203242 

...
Run Code Online (Sandbox Code Playgroud)

这是我要解析的元素(包含IP的td标记):

<td><span><style>
.lLXJ{display:none}
.qRCB{display:inline}
.qC69{display:none}
.V0zO{display:inline}
</style><span style="display: inline">190</span><span class="V0zO">.</span><span 
style="display:none">2</span><div style="display:none">20</div><span 
style="display:none">51</span><span style="display:none">56</span><div 
style="display:none">56</div><span style="display:none">61</span><span 
class="lLXJ">61</span><div style="display:none">61</div><span 
class="qC69">110</span><div 
style="display:none">110</div><span style="display:none">135</span><div 
style="display:none">135</div><span class="V0zO">221</span><span 
style="display:none">234</span><div style="display:none">234</div><span class="147">.
</span><span style="display: inline">29</span><div style="display:none">44</div><span 
style="display:none">228</span><span></span><span class="qC69">248</span>.<span 
style="display:none">7</span><span></span><span style="display:none">44</span><span 
class="qC69">44</span><span class="qC69">80</span><span></span><span 
style="display:none">85</span><span class="lLXJ">85</span><div 
style="display:none">85</div><span class="qC69">100</span><div 
style="display:none">100</div><span></span><span class="qC69">130</span><div 
style="display:none">130</div><div style="display:none">168</div>212<span 
style="display:none">230</span><span class="qC69">230</span><div 
style="display:none">230</div></span></td>  
Run Code Online (Sandbox Code Playgroud)

该元素的实际文本只是代理的IP.

这是我的代码片段:

# Hide My Ass
pages = ['https://www.hidemyass.com/proxy-list']

for page in pages:
    hidemyass = Soup(requests.get(page).text)
    rows = hidemyass.find_all(lambda …
Run Code Online (Sandbox Code Playgroud)

html python beautifulsoup html-parsing web-scraping

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