У меня есть этот код для очистки статей (title и href) от поиска на веб-сайте, он использует javascript и, следовательно, обычный bs4 не будет работать.Я повернулся к использованию PyQt4, но слишком медленно.Что мне теперь делать
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()
word = "imran khan"
url = 'https://www.dawn.com/search?cx=partner-pub-8258178831251847%3A5337004877&cof=FORID%3A10&ie=UTF-8&q=' + "+".join(word.split(' '))
client_response = Client(url)
source = client_response.mainFrame().toHtml()
soup = bs.BeautifulSoup(source, 'lxml')
stories = {'title':[], 'link':[]}
for link in soup.find_all('a', class_='gs-title'):
title = link.text
try:
href = link['href']
except KeyError:
href= ""
stories['title'].append(title)
stories['link'].append(href)
stories = pd.DataFrame(stories)
stories.to_csv('stories.csv')