4

次のコードを使用してニュース記事を取得するために、ニュース Web サイトを Web スクレイピングしています。

import mechanize
from selenium import webdriver
from bs4 import BeautifulSoup

url = "http://www.thehindu.com/archive/web/2012/06/19/"

link_dictionary = {}
driver = webdriver.Firefox()
driver.get(url)
soup = BeautifulSoup(driver.page_source)

for tag_li in soup.findAll('li', attrs={"data-section":"Editorial"}):
    for link in tag_li.findAll('a'):
        link_dictionary[link.string] = link.get('href')
        print link_dictionary[link.string]
        urlnew = link_dictionary[link.string]

        brnew =  mechanize.Browser()
        htmltextnew = brnew.open(urlnew).read()

        articletext = ""
        soupnew = BeautifulSoup(htmltextnew)
        for tag in soupnew.findAll('p'):
            articletext += tag.text
        print articletext


driver.close()

望ましい結果が得られていますが、特定のニュース記事を 1 行で表示したいです。一部の記事では、記事全体を 1 行で取得していますが、別の記事では別の段落を取得しています。誰かが問題を解決するのを手伝ってくれますか?? 私はPythonプログラミングが初めてです。ありがとうございます。

4

1 に答える 1