私は引用されたウェブページのハイパーリンクとそれが表示している記事のタイトルごとに拾いたい人気記事のウェブページを持っています。BeautifulSoupを利用したリンクタイトルとURLのウェブページのスクラップ
私のスクリプトの出力は、各タイトルと記事の内容を1行に記載したCSVファイルです。したがって、このWebページに50の記事がある場合は、50行と100データ点のファイルが1つ必要です。
私の問題は、記事のタイトルとそのハイパーリンクがSVGコンテナに含まれていることです。私はBeautifulSoupをWebスクレイピングに利用しましたが、各記事のタイトルとハイパーリンクを選択する方法はわかりません。すべての助けは大いに感謝しています。
import requests
from bs4 import BeautifulSoup
import re
res = requests.get('http://fundersandfounders.com/what-internet-thinks-based-on-media/')
res.raise_for_status()
playFile = open('top_articles.html', 'wb')
for chunk in res.iter_content(100000):
playFile.write(chunk)
f = open('top_articles.html')
soup = BeautifulSoup(f, 'html.parser')
links = soup.select('p') #i know this is where i'm messing up, but i'm not sure which selector to actually utilize so I'm using the paragraph selector as a place-holder
print(links)
私は、これは実質的に2段階のプロジェクトであることを認識しています:私のスクリプトの現在のバージョンは、実際のコンテンツ私はこすることするつもりだすべてのハイパーリンクのリストを反復しません。それは私が自分で簡単に実行することができる第二のステップですが、誰もがそのビットを書くことを望むなら、あなたに誇りを持ってください。
ありがとうございました。どのモジュールを(Python3用に)インストールすればurllib.parseとurljoinを利用できますか?私はそれを見つけるように見えない。 – dataelephant
@Harelephant 'urllib'は組み込みで、インストールする必要はありません。 – alecxe