【发布时间】:2017-08-28 17:17:08
【问题描述】:
我想解析这个“<a href="javascript:8==99999?popDuelloDialog(2754288):popTeam(2386)">Gnistan</a>”并提取文本。
我试图提取很多,但我无法成功。
我不知道如何使用这种不重复的“javascript 来”:(numbers)”格式构建方法。所以我需要这样一种方法,它只使用重复部分并提取正文中的文本。
我的代码在这里:
import sys
from PyQt4.QtGui import QApplication
from PyQt4.QtCore import QUrl
from PyQt4.QtWebKit import QWebPage
import bs4 as bs
import urllib.request
import re
from bs4 import BeautifulSoup
class Client(QWebPage):
def __init__(self, url):
self.app = QApplication(sys.argv)
QWebPage.__init__(self)
self.loadFinished.connect(self.on_page_load)
self.mainFrame().load(QUrl(url))
self.app.exec_()
def on_page_load(self):
self.app.quit()
url = 'http://www.mackolik.com/Genis-Iddaa-Programi'
client_response = Client(url)
source = client_response.mainFrame().toHtml()
soup = bs.BeautifulSoup(source, 'html.parser')
#pattern=re.compile(r"javascript:;")
#js_test = soup.find_all('a', href='javascript')
hreff=soup.find_all("a","javascript:;")
#js_test=soup.select('a[href^="javascript:\('(.*?)'\);"]')
#print(js_test.text)
#type(href)
for i in hreff:
print(hreff[i])
【问题讨论】:
-
你只想解析“Gnistan”?
-
是的。首先我要解析“Gnistan”,在同一个页面上有很多我要解析的文本,然后我当然会对其他人应用相同的方法。
-
@A.Kaymakci 世界上没有其他人可能需要解析您所做的确切字符串。如果有人想知道如何解析字符串,他们不会搜索“如何解析
”,而是搜索“如何解析字符串”。面向更多人的问题更有用。 -
@TylerH 你是从软件工程师的角度来看待这个问题的,我当然尊重它,但我想告诉你也有一些像我一样的人,他们不了解所有类型技术术语,因为标签,锚标签术语等属于 HTML 和 XML 编程,打印,因为术语更通用,属于例如。 Python。如果我只对 Python 语言感兴趣,我不必了解 HTML 等。你也可以这样看待和思考。
标签: javascript html beautifulsoup pyqt4 python-3.6