1ページにつき30件を表示しているwebページから、スクレイピングして取得した結果を見ると14件しか取得できなくて
困っています。
下記が実装中のコードです。AWSのLambda上で書いています。
import requests from bs4 import BeautifulSoup import urllib.parse import json def lambda_handler(event,context): keyword = event['queryStringParameters']['keyword'] urlKeyword = urllib.parse.quote(keyword, encoding='shift-jis') url = f"https://www.jalan.net/uw/uwp2011/uww2011init.do?keyword={urlKeyword}&dispStartIndex=0" r = requests.get(url) c = r.content soup = BeautifulSoup(c, "lxml", from_encoding="Shift_JIS") all=soup.find_all("h2",{"class":"p-searchResultItem__facilityName"}) print(all) facilities=[] for item in all: d={} d["facilityName"]=item.text facilities.append(d) return { 'statusCode': 200, 'headers': { "Access-Control-Allow-Origin": "*" }, 'body': json.dumps(facilities) }
print(all)の段階でデータが14件しか取得できていません。
またリクエストで取得しきれていないのかと思い、r = requests.get(url)の直下にtime.sleep(5)を仕込んでみても改善されませんでした。
よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/11/07 10:37
2021/11/10 11:18 編集
2021/11/10 11:53 編集
2021/11/10 12:01
2021/11/10 12:03
2021/11/10 12:29
2021/11/10 12:43 編集
2021/11/10 12:42