ウェブスクレイパーで特定の話題をピックアップしたい
書籍「独学プログラマー」で勉強中です。
Yahoo!のホーム画面に載っているピックアップニュースをhttps://news.yahoo.co.jp/から取得することはできました。
しかし、たとえばYahoo!に取り上げられているピックアップニュースの中でも「トランプ氏」に限ったニュースだけを取得したい場合はどうすればよいのでしょうか?もしよろしければ一例を示していただければ幸いです。
エラーはないが。。。
エラーはないですが、興味のないピックアップニュースも抽出されてしまう。そういうコードを書いているのでそれは当然なのですが、上記の目的を達するために下記コードをどう書き換えればいいのか分からないです。
該当のソースコード
Python3
1import urllib.request 2from urllib.parse import urljoin 3from bs4 import BeautifulSoup as BS 4 5class Scraper: 6 def __init__(self, site): 7 self.site = site 8 9 def scrape(self): 10 r = urllib.request.urlopen(self.site) 11 html = r.read() 12 parser = 'html.parser' 13 sp = BS(html, parser) 14 for tag in sp.find_all('a'): 15 url = tag.get('href') 16 if url is None: 17 continue 18 if 'pickup' in url: 19 print('\n' + urljoin(self.site, url)) 20 21news = 'https://news.yahoo.co.jp/' 22Scraper(news).scrape()
試したこと
'pickup'を'トランプ氏'に変えて
news = 'https://news.yahoo.co.jp/'に追加の何かコードを足せばいいのかなとは思うのですがわかりません。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/02/16 13:45 編集
2020/02/17 12:18