レストランのレビューサイトのようなサイトをスクレイピングし、スプレッドシートに連携しています。
基本はrequestsを使ってURLを取得しているのですが、一部サイトのHTMLを組み込んで参照先をそのHTMLにすることは可能でしょうか。
Python
1 2import gspread 3import requests 4from bs4 import BeautifulSoup 5from oauth2client.service_account import ServiceAccountCredentials 6import time 7 8#以下はurl取得 9 10url = “https://xxx?pid=12345” 11r = requests(url) 12 13soup = BeautifulSoup(r.text, “lxml”) 14 15elements_01 = soup.select(".sample1”) 16 17for index, e in enumerate(elements)_01: 18 num = index+1 19 wks.update_acell('A'+str(num), e.get_text()) 20 21#以下はHTML取得 22 23text =""" 24<html> 25<body> 26 <p class = "oya"> 27 <i class = "ko_01">サンプル</i> 28 </p> 29 <p class = "oya"> 30 <i class = "ko_02">サンプル</i> 31 </p> 32 <p class = "oya"> 33 <i class = "ko_03">サンプル</i> 34 </p> 35</body> 36</html> 37""" 38soup = BeautifulSoup(text, 'lxml') 39 40elements_02 = soup.select(".oya") 41 42for e in elements_02: 43 print(e.i) 44 print(e.i["class"][0]) 45
と言ったような形です。
このHTMLはURLに含まれる部分です。(サイトの全てではなく、そのうちの一部のHTML)
抽出したい項目が5つあるとしたら、4つはurlで抽出、一つはhtmlで抽出といった形です。
上手くいかず、調べても見つけられなかったため質問させていただきました。
宜しくお願い致します。
回答2件
あなたの回答
tips
プレビュー