Как очистить раздел «Больше» на странице профиля Quora? - PullRequest
1 голос
/ 30 сентября 2011

Чтобы определить список всех тем в Quora, я решил начать с очистки страницы профиля со многими последующими темами, например, http://www.quora.com/Charlie-Cheever/topics. Я удалил темы с этой страницы, но теперь мне нужно очистить темысо страницы Ajax, которая загружается при нажатии кнопки «Дополнительно» в нижней части страницы.Я пытаюсь найти функцию javascript, выполняемую после нажатия на кнопку «Еще», но пока не получилось.Вот три фрагмента из html-страницы, которые могут иметь отношение к делу:

<div class=\"pager_next action_button\" id=\"__w2_mEaYKRZ_more\">More</div>
{\"more_button\": \"mEaYKRZ\"}

\"dPs6zd5\": {\"more_button\": \"more_button\"}

new(PagedListMoreButton)(\"mEaYKRZ\",\"more_button\",{},\"live:ld_c5OMje_9424:cls:a.view.paged_list:PagedListMoreButton:/TW7WZFZNft72w\",{})

Кто-нибудь из вас, ребята, знает название функции JavaScript, выполняемой при нажатии кнопки «Еще»?Любая помощь будет оценена:)

Сценарий Python (сопровождаемый этим руководством) на данный момент выглядит следующим образом:

#just prints topics followed by Charlie Cheevers from the 1st page
#!/usr/bin/python
import httplib2,time,re
from BeautifulSoup import BeautifulSoup
SCRAPING_CONN = httplib2.Http(".cache")

def fetch(url,method="GET"):
    return SCRAPING_CONN.request(url,method)

def extractTopic(s):
    d = {}
    d['url'] = "http://www.quora.com" + s['href']
    d['topicName'] = s.findChildren()[0].string
    return d

def fetch_stories():
    page = fetch(u"http://www.quora.com/Charlie-Cheever/topics")
    soup = BeautifulSoup(page[1])
    stories = soup.findAll('a', 'topic_name')
    topics = [extractTopic(s) for s in stories]
    for t in topics:
        print u"%s, %s\n" % (t['topicName'],t['url'])

stories = fetch_stories()

1 Ответ

2 голосов
/ 01 октября 2011

Вы можете увидеть его в dom-инспекторе вашего браузера в разделе Прослушиватели событий.Это анонимная функция, которая выглядит следующим образом:

function (){return typeof d!=="undefined"&&!d.event.triggered?d.event.handle.apply(l.elem,arguments):b}

Это выглядит как сложный веб-сайт, который можно почистить, вы можете рассмотреть вопрос об использовании селена.

...