yahooのニュース記事一覧のタイトルとリンクを取得

書籍「Pythonでスクレイピングを始めよう: for Macユーザー入門学習編」のサンプルプログラムです。

import requests
from bs4 import BeautifulSoup

titles=[]
links=[]
url="https://www.yahoo.co.jp"
user_agent = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.1.2 Safari/605.1.15'
header = {
    'User-Agent': user_agent
}
r = requests.get(url,headers=header)

soup=BeautifulSoup(r.text, 'lxml')
elems = soup.select('.fQMqQTGJTbIMxjQwZA2zk._1alzSpTqJzvSVUWqpx82d4')
for elem in elems:
    if elems.index(elem)>=8:
        pass
    else:
        titles.append(elem.text)

elems = soup.select('.yMWCYupQNdgppL-NV6sMi._3sAlKGsIBCxTUbNi86oSjt')
for elem in elems:
    value=elem.get('href')
    if value == None:
        pass
    else:
        if "https://news.yahoo.co.jp/pickup/" in value:
            links.append(value)

for x in range(len(titles)):
    print(titles[x])
    print(links[x])

Yahooのニュース一覧のタイトルとリンクを取得するプログラムです。

詳しい解説は書籍をご覧いただけると嬉しいです。


この記事が気に入ったらサポートをしてみませんか?