【问题标题】:How to fetch data for my website from 3rd party website in Django如何从 Django 中的第 3 方网站获取我的网站的数据
【发布时间】:2021-04-15 01:59:04
【问题描述】:

我想学习,如何从任何网站(具有特定给定链接)获取任何类型的整数值。假设如果我在 google 中搜索 today's temperature,它会显示如下:

我更喜欢使用 Django。如何从此页面获取温度值?我的意思是views.py 应该是什么样子?我对这种类型的数据获取完全陌生,对此了解为零,如果您愿意,请向我推荐一些教程链接或博客。

【问题讨论】:

  • 您需要为此使用网络抓取,并且由于 google 是一个动态网站(使用 javascript 加载其内容),您需要使用 selenium。或者更好的是,您可以尝试查找一些 API。快速谷歌搜索显示OpenWeather
  • 该页面上显示了 17 个温度值,您要获取哪些值?你的帖子太宽泛了,见How to Ask

标签: python django


【解决方案1】:

我建议改用 API 进行操作,因为它们是为与应用程序交互而设计的。如果您尝试以编程方式访问搜索结果,Google 可能会怀疑,并要求您填写验证码以证明您是人类。

除此之外,你可以这样做:

  1. 使用requests获取网站的HTML内容
  2. 使用bs4解析HTML
  3. 从 HTML 中提取所需数据

例如:

from bs4 import BeautifulSoup
import requests

url = 'https://www.accuweather.com/en/no/oslo/254946/current-weather/254946'
r = requests.get(url) # get the page content using requests

soup = BeautifulSoup(r, 'html.parser') # parse the page HTML

current_temp = soup.select('.display-temp').get_text() # locate the element of interest, and get the element's text content

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-09-27
    • 2014-06-12
    • 1970-01-01
    • 1970-01-01
    • 2019-01-02
    • 1970-01-01
    • 2013-01-28
    相关资源
    最近更新 更多