前提・実現したいこと
こんにちわ。python初学者です。
試しにDjangoを使ってスクレイピングしたデータをローカルホスト(127.0.0.1:8000/coll/)で読み込み表示させたいのですが、$python manage.py runserverをしてサイト(/coll)にアクセスすると下記のようなエラーが出てしまいます。
このスクレイピングコードの関数自体はDjango抜きでなら結果が返ってくるので、index.htmlとの連携?がうまくいっていないように感じます。こちらの関数のカスタマイズはどのようにしたら良いでしょうか??
下記のエラーコードは何の改善を求めていて、またどのようにしたら結果を表示さすことができるでしょうか?
ぜひ、ご教授願いたいです。よろしくお願いします。
発生している問題・エラーメッセージ
Traceback (most recent call last): File "/Users/uu/.local/share/virtualenvs/un-jT0daukl/lib/python3.8/site-packages/django/core/handlers/exception.py", line 47, in inner response = get_response(request) File "/Users/uu/.local/share/virtualenvs/un-jT0daukl/lib/python3.8/site-packages/django/utils/deprecation.py", line 116, in __call__ response = self.process_response(request, response) File "/Users/uu/.local/share/virtualenvs/un-jT0daukl/lib/python3.8/site-packages/django/middleware/clickjacking.py", line 26, in process_response if response.get('X-Frame-Options') is not None: AttributeError: 'str' object has no attribute 'get' [19/Aug/2020 16:25:37] "GET /coll/ HTTP/1.1" 500 56825 Internal Server Error: /coll/
該当のソースコード
coll/views.py
from django.shortcuts import render from selenium import webdriver import chromedriver_binary from selenium.webdriver.common.keys import Keys from selenium.webdriver.chrome.options import Options import time import urllib.request options = Options() options.headless = True options.add_argument('--headless') driver = webdriver.Chrome(options=options) driver.get("動的なwebサイト") def get_date(requests): selector = '要素' element = driver.find_elements_by_css_selector(selector) for a in element: return a.get_attribute("href") context = {'links': a} return render(requests, 'coll/index.html', context)
該当のソースコード
templates/coll/index.html
<!DOCTYPE html> <head> <meta charset="UTF-8"> <title>index</title> </head> <body> <h1>Hello Django</h1> <p>{{ links }}</p> </body>
試したこと
掲載しているcoll/views.pyのコードを丸々変えてindex.htmlでローカルホスト(127.0.0.1:8000/coll/)に『Hello Django!!』とテキスト自体は表示さすことができたのでadmin.pyやsetting.pyの設定は問題はないと思っているのですが、、、もし追記で必要ならすぐにこちらに掲載させていただきたいです。
補足情報(FW/ツールのバージョンなど)
mac10.15.3
python3.8
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/08/19 10:38
2020/08/19 11:02 編集
2020/08/19 11:02 編集
2020/08/19 14:53
2020/08/19 22:16 編集
2020/08/20 08:30