Извлечение комментариев из новостей

Мой вопрос похож на вопрос, заданный здесь: https://stackoverflow.com/questions/14599485/news-website-comment-analysis Я пытаюсь извлечь комментарии из любой статьи новостей. Например, у меня есть новостной url здесь: http://www.cnn.com/2013/09/24/politics/un-obama-foreign-policy/ Я пытаюсь использовать BeautifulSoup в python для извлечения комментариев. Однако кажется, что раздел комментариев встроен в iframe или загружен через javascript. Просмотр источника через firebug не показывает источник раздела комментариев. Но явно просматривается источник комментариев через функцию просмотра источника в браузере. Как сделать вывод комментариев, особенно когда комментарии поступают из другого URL-адреса, встроенного в веб-страницу новостей?

Это то, что я сделал до сих пор, хотя это не так много:

import urllib2 from bs4 import BeautifulSoup opener = urllib2.build_opener() url = ('http://www.cnn.com/2013/08/28/health/stem-cell-brain/index.html') urlContent = opener.open(url).read() soup = BeautifulSoup(urlContent) title = soup.title.text print title body = soup.findAll('body') outfile = open("brain.txt","w+") for i in body: i=i.text.encode('ascii','ignore') outfile.write(i +'\n') 

Любая помощь в том, что мне нужно сделать или как это сделать, будет очень признательна.

One Solution collect form web for “Извлечение комментариев из новостей”

его внутри iframe . проверьте наличие кадра с id="dsq2" .

теперь iframe имеет src attr, который является ссылкой на фактический сайт с комментариями.

поэтому в красивом супе: css_soup.select("#dsq2") и получить URL-адрес из атрибута src. это приведет вас к странице с комментариями.

для получения фактических комментариев, после того, как вы получите страницу из src, вы можете использовать этот селектор css: .post-message p

и если вы хотите загрузить больше комментариев, когда вы нажимаете на другие кнопки комментариев, это, кажется, отправляет это:

http://disqus.com/api/3.0/threads/listPostsThreaded?limit=50&thread=1660715220&forum=cnn&order=popular&cursor=2%3A0%3A0&api_key=E8Uh5l5fHZ6gD8U3KycjAIAk46f68Zw7C6eW8WSjZvCLXebZ7p0r1yrYDrLilk2F

  • Gettin HTML-элемент и отправка новых запросов json в python
  • Обработка индийских языков в BeautifulSoup
  • Рекомендации по очистке экрана: Интерактивный график
  • Удаление веб-страницы aspx с помощью Python с помощью BeautifulSoup
  • Как написать скребковый контент в файл CSV?
  • Проблемы с извлечением селена: ожидания / не обнаружение элементов
  • Скребок: как переформатировать сбор и вывод данных csv
  • Как очистить теги html, распространяемые по нескольким строкам в python?
  •  
    Interesting Posts for Van-Lav

    Как сократить время, затрачиваемое на загрузку файла pickle в python

    Создайте новый список из двух словарей

    Как обслуживать статические файлы в Flask

    Python: Как вы останавливаете numpy от многопоточности?

    numpy.all с целыми аргументами возвращает целое число

    Python: индекс замены строки

    Mac OS X El Capitan – Scrapy / Python ImportError: невозможно импортировать имя xmlrpc_client

    Python wmi c.Win32_PerfFormattedData_PerfOS_Processor win7 error

    Как я могу сортировать в разделах, определенных одним столбцом, но оставить разделы, где они есть?

    Сравнение строк блока данных pandas (строки имеют некоторые перекрывающиеся значения)

    Как я могу исправить «UnicodeDecodeError» при попытке извлечь текст с помощью pdfminer.six?

    Python Imaging: загрузка jpeg из памяти

    Лучший способ просмотреть список имен компьютеров и выполнить действия над каждым именем в списке? -Python

    Django / xhtml2pdf – объект не имеет атрибута 'encode'

    Группируйте по кадру данных pandas и выберите наиболее распространенный строковый коэффициент

    Python - лучший язык программирования в мире.