Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/354.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
抓取:将存储为图片的数据添加到python 3.5中的CSV文件中_Python_Csv_Web Scraping_Beautifulsoup_Python 3.5 - Fatal编程技术网

抓取:将存储为图片的数据添加到python 3.5中的CSV文件中

抓取:将存储为图片的数据添加到python 3.5中的CSV文件中,python,csv,web-scraping,beautifulsoup,python-3.5,Python,Csv,Web Scraping,Beautifulsoup,Python 3.5,对于这个项目,我正在从数据库中抓取数据,并试图将这些数据导出到电子表格中进行进一步分析。(之前发布过——感谢那边帮助我修改代码!) 我以前认为,只要总是选择出现在表格中的名字,就可以简化在表格中找到获胜候选人的过程,因为我认为“获胜者”总是首先出现。然而,情况并非如此 候选人是否当选以图片的形式存储在第一列中。我如何将其刮取并存储在电子表格中 它位于下,如下所示: <img src="/WPAPPS/WPR/Content/Images/selected_box.gif" alt="con

对于这个项目,我正在从数据库中抓取数据,并试图将这些数据导出到电子表格中进行进一步分析。(之前发布过——感谢那边帮助我修改代码!)

我以前认为,只要总是选择出现在表格中的名字,就可以简化在表格中找到获胜候选人的过程,因为我认为“获胜者”总是首先出现。然而,情况并非如此

候选人是否当选以图片的形式存储在第一列中。我如何将其刮取并存储在电子表格中

它位于下,如下所示:

<img src="/WPAPPS/WPR/Content/Images/selected_box.gif" alt="contestant won this nomination contest">

真的吗?任何提示都将不胜感激。非常感谢。

此片段将打印当选者的姓名:

from bs4 import BeautifulSoup
import requests
req  = requests.get("http://www.elections.ca/WPAPPS/WPR/EN/NC/Details?province=-1&distyear=2013&district=-1&party=-1&selectedid=8548")
page_source = BeautifulSoup(req.text, "html.parser")
table = page_source.find("table",{"id":"gvContestants/1"})
for row in table.find_all("tr"):
    if not row.find("img"):
        continue
    if "selected_box.gif" in row.find("img").get("src"):
        print(''.join(row.find("td",{"headers":"name/1"}).text.split()))

作为旁注,请不要用无意义的名称声明变量。这会伤害任何试图帮助你的人的眼睛,将来再看代码时也会伤害你。

你的问题是什么?@Rafael我在帖子中澄清了这个问题。我在这里复制了它:我如何使用BeautifulSoup解析HTML表并从第一列中提取一个值,该列以图像而不是文本的形式存储在表中?我们需要查看该表,代码中提供的url会在页面上复制此错误
错误:搜索条件无效。请尝试选择新的搜索条件。
代码中的url用一对花括号进行了修改,以便可以在所有56页中循环。是其中一个表的示例。第一列是有关的。
from bs4 import BeautifulSoup
import requests
req  = requests.get("http://www.elections.ca/WPAPPS/WPR/EN/NC/Details?province=-1&distyear=2013&district=-1&party=-1&selectedid=8548")
page_source = BeautifulSoup(req.text, "html.parser")
table = page_source.find("table",{"id":"gvContestants/1"})
for row in table.find_all("tr"):
    if not row.find("img"):
        continue
    if "selected_box.gif" in row.find("img").get("src"):
        print(''.join(row.find("td",{"headers":"name/1"}).text.split()))