我正在从 CAPTCHA 图像中提取的各种数字为Neuron Network构建训练集。 我正在使用 Python 2.7.3 , lxml 库和 XPath 选择器。
要从验证码中获取正确的图像,我需要提取动态加载到www中的img src
,每次都不同,所以我的Python代码是:
import urllib
from lxml import etree, html
adres_prefix = "https://prod.ceidg.gov.pl/CEIDG/CEIDG.Public.UI/"
adres_sufix = etree.XPath('string(//img[@class="captcha"]/@src)')
sock = urllib.urlopen("https://prod.ceidg.gov.pl/CEIDG/CEIDG.Public.UI/Search.aspx")
htmlSource = sock.read()
sock.close()
root = etree.HTML(htmlSource)
result = etree.tostring(root, pretty_print=True, method="html")
result2 = adres_sufix(root)
www = adres_prefix + result2
print www
所以每次我收到www:
https://prod.ceidg.gov.pl/CEIDG/CEIDG.Public.UI/captcha.ashx?id=1b7d2b6d-70a6-4ce3-bedd-fe89038fb7f3&empty=1
出了什么问题,因为将此链接复制到我的浏览器中时,我什么都没得到。
包含CAPTCHA
的源页面我不知道出了什么问题。为什么XPath选择器会 '& empty = 1' ? 有什么想法吗?
答案 0 :(得分:0)
原始HTML源代码具有“empty = 1”,因此您的代码是正确的。要获得图像,只需修剪“& empty = 1”部分。
https://prod.ceidg.gov.pl/CEIDG/CEIDG.Public.UI/captcha.ashx?id=1b7d2b6d-70a6-4ce3-bedd-fe89038fb7f3