学生の研究用の Web クローラーを作成しようとしています。もう使い終わってしまったのですが、私の使い方がベストなのか教えていただきたいです。(おそらくそうではない:p)
クローラーは cnn サイト用で、取得したいのはニュースのテキストだけです。
リンクの例を次に示します。
これが私のコードです:
def cnn_crawler(link):
req = urllib2.Request(link, headers={'User-Agent' : "Magic Browser"})
usock = urllib2.urlopen(req)
encoding = usock.headers.getparam('charset')
page = usock.read().decode(encoding)
usock.close()
soup = BeautifulSoup(page)
div = soup.find('div', attrs={'class': 'cnn_strycntntlft'})
text = div.find_all('p')
text.remove(soup.find('p', attrs={'class': 'cnn_strycbftrtxt'}))
final = ""
for entry in text:
final = final + entry.get_text() + " "
return final