私はWebCrawlingの初心者です。複数のURLのクロールに関する質問があります。Pythonのニュース見出しと内容のウェブクローズの例
私は自分のプロジェクトでCNBCを使用しています。ホームページからニュースのタイトルとURLを抽出したいし、各URLからニュース記事の内容をクロールしたいと思う。
import requests
from lxml import html
import pandas
url = "http://www.cnbc.com/"
response = requests.get(url)
doc = html.fromstring(response.text)
headlineNode = doc.xpath('//div[@class="headline"]')
len(headlineNode)
result_list = []
for node in headlineNode :
url_node = node.xpath('./a/@href')
title = node.xpath('./a/text()')
soup = BeautifulSoup(url_node.content)
text =[''.join(s.findAll(text=True)) for s in soup.findAll("div", {"class":"group"})]
if (url_node and title and text) :
result_list.append({'URL' : url + url_node[0].strip(),
'TITLE' : title[0].strip(),
'TEXT' : text[0].strip()})
print(result_list)
len(result_list)
私はthat'listコンテンツ 『」オブジェクトが属性を持っていません』というエラーを取得し続けています:
これは私がこれまで持っているものです。各見出しのタイトル、各見出しのURL、各見出しのニュース記事の内容を含む辞書を作成したいと考えています。これに簡単にアプローチできますか?
あなたのURLはcnbcのWebアドレスを含む文字列なので、.contentプロパティがないことは驚くことではありません。たぶんあなたはurl_code.contentですか? – Bemmu
@Bemmuはまだ動作しませんが、私は質問を編集しました! – Elizabeth
コンテンツを保護するjsがない – cph