【发布时间】:2015-09-03 12:15:39
【问题描述】:
我试图取消彩票的结果,最终目标是从彩票上的 5 位数字中获得最常见的 3 位数字。我使用 lxml 和 python 来获取数字,但我无法打印实际数字,o 获取 xpath 并尝试使用 /text() 但由于某种原因我一直得到一个空列表。这就是我用来获取号码的东西。有什么建议?抱歉英语不好。
from lxml import html
import requests
page=requests.get('http://www.loteriadecordoba.com.ar/juegos/index/Loter%C3%ADa+de+C%C3%B3rdoba-18.html')
tree = html.fromstring(page.text)
numero= tree.xpath('/html/body/div[3]/div[1]/div/div[1]/div[1]/div/div[4]/div/div/table/tbody/tr[3]/td/table/tbody/tr[2]/td[3]/text()')
print numero
又看了几遍,终于明白了
import sys
from PyQt4.QtGui import *
from PyQt4.QtCore import *
from PyQt4.QtWebKit import *
from lxml import html
import time
class Render(QWebPage):
def __init__(self, url):
self.app = QApplication(sys.argv)
QWebPage.__init__(self)
self.loadFinished.connect(self._loadFinished)
self.mainFrame().load(QUrl(url))
self.app.exec_()
def _loadFinished(self, result):
self.frame = self.mainFrame()
self.app.quit()
url = 'http://www.loteriadecordoba.com.ar/contenidos/juegos/0-132.html?xSorteo='
for x in range(4523 , 4525):
url2=url+str(x)
r = Render(url2)
time.sleep(5)
result = r.frame.toHtml()
#Converting QString to Ascii for lxml to process
formatted_result = str(result.toAscii())
tree = html.fromstring(formatted_result)
num= tree.xpath('//div[@class="sorteo"]/table/tbody/tr[3]/td/table/tbody/tr[2]/td/text()')
num2= tree.xpath('//div[@class="sorteo"]/table/tbody/tr[4]/td/table/tbody/tr/td/text()')
lista = num+num2
sorteo =open('sorteo', 'w')
for item in lista:
sorteo.write("%s\n" % item)
sorteo.close()
我使用 pyQt4 来呈现用于读取数字的页面,它可以在单个页面上完美运行,但是当我在 for 循环中运行它时,它会不断崩溃并发布错误
X Error: RenderBadGlyphSet (invalid GlyphSet parameter) 145
Extension: 139 (RENDER)
Minor opcode: 19 (RenderFreeGlyphSet)
Resource id: 0x4800009
现在我真的没有任何想法:(。有人可以给出一个想法吗?
【问题讨论】:
标签: python web-scraping lxml