使用pyqt4.QtWebKit.QWebPage

时间:2017-02-10 10:07:05

标签: javascript python html pyqt4 qtwebkit

首先是一些背景信息:

我对数据抓取有点新意,我本周早些时候就开始了。我一直试图从两个网站上抓取数据,我注意到我想要的信息是用java脚本动态加载的(我认为),所以用python urllib2包下载网页HTML的简单尝试没有给出想要的信息。我做了很多研究并决定使用PyQT4包下载完全加载的HTML(从java脚本加载的信息),我选择了PyQT4,因为我无法获得其他包(例如selerium)。我希望在这些网站中的信息存储在HTML表格中,当您在浏览器中实际加载页面时,它们会显示为精美的表格。

现在讨论主要问题:

使用PyQT4我设法下载完整的HTML,但我注意到我下载的网页实际上并没有我正在寻找的完整信息表,因为两个网站都对信息表进行了分页,但他们提供了一个选项。在下拉列表中显示表的各种行数,包括显示所有表的选项。所以我找了一种方法从下拉列表中通过PyQT4选择一个值,我找到了这个链接:

How to choose value from an option list using PyQt4.QtWebKit

我尝试了该页面上的所有答案,但似乎没有任何效果,我也尝试了这里建议的内容:

http://www.qtcentre.org/threads/52161-How-to-choose-value-from-(html)-option-list-using-WebKit

但它也没有用。 两个网站的下拉列表的HTML代码如下:

1:

<div class="dataTables_length" id="datatable-1_length">
  <label> Show
     <select aria-controls="datatable-1" class="form-control input-sm" name="datatable-1_length">
        <option value="10">
           10
        </option>
        <option value="25">
           25
        </option>
        <option value="50">
           50
        </option>
        <option value="100">
           100
        </option>
        <option value="-1">
           All
        </option>
      </select>
      entries
    </label>
 </div>

2:

 <div class="dataTables_length" id="qs-rankings_length">
    <label>
       <span class="result-mune">
          <span>
             Results
          </span>
          per page:
       </span>
       <select aria-controls="qs-rankings" class="" name="qs-rankings_length">
          <option value="100">
             100
          </option>
          <option value="200">
             200
          </option>
          <option value="-1">
             All
          </option>
        </select>
      </label>
    </div>
 </div>

有没有办法从网站上下载完整的表格?

由于

0 个答案:

没有答案