IP代理软件,http代理,API提取-黑洞HTTP

黑洞HTTP

您的位置: 首页 > 新闻资讯 > HTTP代理 > 正文

如何批量爬取中国天气网的天气数据?用代理IP可以吗?  

发布时间:2019年04月23日 来源:互联网

  如何批量爬取中国天气网的天气数据?用代理IP可以吗?  今天我们就来看下,爬虫是如何爬取中国天气网的天气数据的。这里我们以南京为例,来爬取南京近7天的天气数据。首先,我们先打开目标页面,右键检查元素,查找我们需要信息所在的标签位置,然后开始爬取。


如何批量爬取中国天气网的天气数据?用代理IP可以吗?  


  代码如下:


  import requests


  from bs4 import BeautifulSoup


  def getHTMLText(url,timeout = 30):


  try:


  r = requests.get(url, timeout = 30)       #用requests抓取网页信息


  r.raise_for_status()                      #可以让程序产生异常时停止程序


  r.encoding = r.apparent_encoding


  return r.text


  except:


  return '产生异常'


  def get_data(html):


  final_list = []


  soup = BeautifulSoup(html,'html.parser')       #用BeautifulSoup库解析网页


  body  = soup.body


  data = body.find('div',{'id':'7d'})


  ul = data.find('ul')


  lis = ul.find_all('li')


  for day in lis:


  temp_list = []


  date = day.find('h1').string             #找到日期


  temp_list.append(date)


  info = day.find_all('p')                 #找到所有的p标签


  temp_list.append(info[0].string)


  if info[1].find('span') is None:          #找到p标签中的第二个值'span'标签——最高温度


  temperature_highest = ' '             #用一个判断是否有最高温度


  else:


  temperature_highest = info[1].find('span').string


  temperature_highest = temperature_highest.replace('℃',' ')


  if info[1].find('i') is None:              #找到p标签中的第二个值'i'标签——最高温度


  temperature_lowest = ' '               #用一个判断是否有最低温度


  else:


  temperature_lowest = info[1].find('i').string


  temperature_lowest = temperature_lowest.replace('℃',' ')


  temp_list.append(temperature_highest)       #将最高气温添加到temp_list中


  temp_list.append(temperature_lowest)        #将最低气温添加到temp_list中


  wind_scale = info[2].find('i').string      #找到p标签的第三个值'i'标签——风级,添加到temp_list中


  temp_list.append(wind_scale)


  final_list.append(temp_list)              #将temp_list列表添加到final_list列表中


  return final_list


  #用format()将结果打印输出


  def print_data(final_list,num):


  print("{:^10}\t{:^8}\t{:^8}\t{:^8}\t{:^8}".format('日期','天气','最高温度','最低温度','风级'))


  for i in range(num):


  final = final_list[i]


  print("{:^10}\t{:^8}\t{:^8}\t{:^8}\t{:^8}".format(final[0],final[1],final[2],final[3],final[4]))


  #用main()主函数将模块连接


  def main():


  url = 'http://www.weather.com.cn/weather/101190101.shtml'


  html = getHTMLText(url)


  final_list = get_data(html)


  print_data(final_list,7)


  main()


  通过以上代码,我们就可以获取到中国天气网的南京天气数据了。黑洞http代理,数据采集服务服务提供商,为您提供更快,更可靠的服务。


相关文章内容简介

1 如何批量爬取中国天气网的天气数据?用代理IP可以吗?  

  如何批量爬取中国天气网的天气数据?用代理IP可以吗?  今天我们就来看下,爬虫是如何爬取中国天气网的天气数据的。这里我们以南京为例,来爬取南京近7天的天气数据。首先,我们先打开目标页面,右键检查元素,查找我们需要信息所在的标签位置,然后开始爬取。  代码如下:  import requests  from bs4 import BeautifulSoup  def getHTMLText(url,timeout = 30):  try:  r = requests.get(url, timeout = 30)       #用requests抓取网页信息  r.raise_for_status()                      [阅读全文]

热门标签

最新标签

推荐阅读

  1. 05

    2019-11

    http代理地址分为几种,代表什么?

    互联网工作中 HTTP代理 应该都特别熟识,也有很多人不知道不懂,那么我们来讲解一下,它在很多方面都拥有着极为广泛的应用领域。HTTP代理分为正向代理和反向代理两种,后者一般用于将服

  2. 01

    2019-11

    怎么样使用免费代理IP才高效?

    如有效率太低,速度太慢,失效太快,很不稳定,但免费代理IP胜在免费两字,对于一些小任务还是可以胜任的,今天就来讨论下如何高效的使用免费代理IP。

  3. 22

    2019-09

    高匿代理IP的高匿是什么意思?

    现在我们经常在互联网上看到“代理IP”这个词。动态IP由于IP地址资源很宝贵,因此大部分用户上网都是使用动态IP地址的,比如通过Modem、ISDN、ADSL、有线宽频、小区宽频等方式上网的计算机,

  4. 31

    2019-07

    HTTP代理池维护

    维护一个HTTP代理服务器池第一步就是要找到提供HTTP代理服务器的站点,我们需要的就是HTTP代理服务器和端口信息,将其爬取下来即可。那么爬取下HTTP代理之后怎样保存呢

  5. 29

    2019-06

    代理ip如何帮助爬虫抓取知乎信息?

    知乎是时下风靡互联网的一个真实网络问答社区,连接各行各业的精英,他们分享着彼此的专业知识、经验和见解,为广大访问者提供源源不断地高质量信息。近几年,知乎的注册用户水涨船高

  6. 10

    2019-04

    HTTP代理IP的含义,HTTP代理IP如何使用?

    关于HTTP代理IP的意思,大多数人还都不太明白。往往处于一个只可意会不可言传的懵懂状态。那么HTTP代理IP是什么意思呢?又该如何使用呢?今天黑洞HTTP就为大家详细介绍一下!