次のコードを使用してニュース記事を取得するために、ニュース 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プログラミングが初めてです。ありがとうございます。