在浏览器中呈现抓取数据而不存储在数据库中

时间:2019-04-26 09:00:45

标签: python django beautifulsoup

是否可以在不存储在数据库中的情况下在浏览器中呈现抓取数据。

用于抓取数据的代码。

search = query.lower()
p_search = "-".join(search.split())
url = "xyz"+p_search
myurl = Request(url, headers={'User-Agent': 'Mozilla/5.0'})
uReq = ureq(myurl)
uRead = uReq.read()
uReq.close()
soup = bs(uRead, 'lxml')
device_profile = soup.find('div', {'id': 'device-profile'})
return render(request, 'phone/device_profile.html', {'device': device_profile})

代码以在浏览器中呈现数据。

{% if device %}

     {% for row in device %}

      {{ row }}

    {% endfor %}
{% endif %}

1 个答案:

答案 0 :(得分:0)

因此,您可以根据需要用HTML填充模板(device)并使用模板。例如:

return render(request, 'phone/device_profile.html', {'device': device_profile[1]})

更新:

您需要了解<html> <head> <title>Some title</title> </head> <body> {{ device }} </body> </html> 的格式。看起来是一个字符串列表。第二个字符串是要粘贴到模板中的HTML字符串。因此,除了for循环外,还需要将所需的元素传递到模板中:

{{1}}

并直接在模板中使用它:

{{1}}