heroku上でpythonによるwebスクレイピングを行った際にでる401を解決したいです
pythonを用いてスクレイピングした内容を,linenotifyを用いて通知するというものを作ろうとしています
出来上がったコードは,ローカル環境下であれば問題なく通知までされるのですが,herokuにあげると401がでてしまいます
発生している問題・エラーメッセージ
Exception Error: HTTP Error 401: Unauthorized
該当のソースコード
Python
1# -*- coding: utf-8 -*- 2import requests 3from bs4 import BeautifulSoup 4import json 5import urllib.parse 6import urllib.request 7import os 8import sys 9 10 11headers = { 12 "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6)", 13 } 14 15#乃木坂HP 16target_url = "http://www.nogizaka46.com/"; 17 18 19# LINE notify's API 20 21 22def getNogi(): 23 #Requestsを使って、webから取得 24 r = requests.get(target_url, headers=headers, verify=False) 25 #要素を抽出 26 soup = BeautifulSoup(r.text, 'lxml') 27 28 #soup.findを用いて,今日のscheduleを抽出 29 elems = soup.find(id="idxschedule") 30 data = '\n ' 31 for e in elems.select('ul > li'): 32 data += e.getText() + '\n' 33 34 return data 35 36 37def send_nogi_info(msg): 38 39 40def main(): 41 send_nogi_info(getNogi()) 42 43if __name__ == '__main__': 44 main()
試したこと
headersの内容が不適切だと考え,いくつか試したのですがうまくできませんでした.
print(r.status_code)をしたところ,200が返ってきています
アドバイスよろしくお願い致します.
補足情報(FW/ツールのバージョンなど)
herokuにあげたrequirements.txt の内容です
beautifulsoup4==4.6.0
APScheduler==3.5.1
requests==2.18.4
urllib3==1.22
lxml==3.8.0
local環境
osx 10.12.6
python 3.6