如何使用Python导航网站并提取数据

时间:2015-12-06 17:29:12

标签: python extract python-module data-extraction html-content-extraction

我不是一个程序员。刚刚学习。我想使用Python从我国选举当局提取(公开)选举数据。这是出于学术目的,但我也想培养我的编程技巧。我存储的所有数据当然都会公开发布。

我需要知道哪些python模块允许我进入网站并阅读HTML以识别我需要收集的某些数据。我只希望得到一些关于如何或任何其他建议的指导。

我希望o为每一方提取选票,并提供完全分解的其他数据:州/市/县/中心/表。最后,我希望将它存储在csv或xlsx中(我想我会使用openpyxlxlsxwriter)。

我的想法是创建一个程序:

1)获取链接输入(e.g.);

2)它标识HTML左侧每个州的链接(Amazonas,Anzoategui等);

3)对于每个状态进行循环并找到url(它是一个HTML,所以我猜它会为每个状态搜索并提取<a>标记,对吧?);

4)与市政当局重复;

4)与“Parroquia”(县)重复;

5)为每个投票中心重复;

6)最后,每个中心的每个投票表(1,2,3 ......等);

7)接着它存储每一方的结果(eg.手动我按下每个候选人的名字,识别该方的LOGO并存储其投票(示例中为30))。它还应该存储来自“技术表”的数据。

最终结果应该是存储所有数据:州,市,郡,中心,表和每一方的结果。

1 个答案:

答案 0 :(得分:1)

以下内容将有所帮助:

来自selenium import webdriver的 - 用于设置新的webdriver以转到网站。 (Chrome的效果非常好)

来自selenium.webdriver.common.by import 的

- 用于通过css选择器,标签名称,ID等选择html元素

来自selenium.webdriver.support.ui的

导入WebDriverWait - 用于设置加载网址的最小加载时间

来自selenium.webdriver.support的

将expected_conditions导入为EC - 设置在等待加载网址时采取措施的预期条件。例如,条件可能要等到所有<a>标记都已加载。

来自selenium.webdriver.common.keys的

导入密钥 - 用于模拟按键或将文本发送到HTML元素

来自BeautifulSoup的

导入BeautifulSoup - 用于解析下载的HTML文档

导入重新 - 启用正则表达式

import xlwt - 用于写入Microsoft Excel工作簿

来自xlutils.copy导入副本的

- 用于创建Microsoft Excel工作簿的副本

导入时间 - 用于在执行Python代码时设置暂停时间

导入xlrd - 用于从Microsoft Excel工作簿中读取

要下载的软件包:

  1. xlrd 0.9.4

  2. xlutils 1.7.1

  3. xlwt 1.0.0

  4. BeautifulSoup 4.4.1

  5. selenium 2.48.0

  6. 以上大部分内容都可以从python package index

    下载