[python3] BeautifulSoupでプロキシ経由でスクレイピングする

beautifulsoupでUserAgentとProxyを設定する

# -*- coding: utf-8 -*-
import requests
from bs4 import BeautifulSoup
from pprint import pprint

URL = 'https://news.yahoo.co.jp/'
USER_AGENT = "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36"

proxies = {
	'http':'http://43.248.24.158:51166/',
	'https':'http://43.128.23.107:8080/'
}
headers = {"User-Agent": USER_AGENT}

resp = requests.get(URL, proxies=proxies, headers=headers, timeout=10)
resp.encoding = 'utf8' 
soup = BeautifulSoup(resp.text, "html.parser")

titles = soup.select('.sc-esjQYD a')
titles = [t.contents[0] for t in titles]

pprint(titles)

$ python3 app.py
[‘春の嵐 太平洋側激しい雷雨も’,
‘コロナワクチン種類選択OKに’,
‘北ミサイル 安保理緊急協議へ’,
‘生息域40年で倍 減らぬシカ’,
‘中国の謎の文明 黄金仮面発見’,
‘羽生まるで別人 専門家の目’,
‘みちょぱ 結婚の話している’,
‘水卜アナ 局アナ続ける理由’]

なるほど、BSでも行けますね、OK