黑洞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. 27

    2019-03

    淘宝流量整体下跌,代理IP能挽救吗?

    对于电商创业者,现在线上的流量才是最贵的。对很多电商创业者来说,如何引入流量、转化流量,才是赖以生存并持续发展的基础。很多小型电商每天几乎没有流量,更别说有转化了。

  2. 14

    2019-11

    代理IP中的独享IP和共享有什么不同?

    换IP软件一款专业的切换IP软件,高匿,高质量,每日千万高速代理IP,支持PC、安卓、IOS全平台一键切换,适用于各类网赚、SEO、数据采集、营销推广等行业。IP转换器可以以分钟为单位切换IP地

  3. 01

    2019-07

    代理IP如何让上网更安全?

    当今时代,互联网已经渗透到了我们生活中的方方面面,随着移动设备的普及和应用,从前繁琐的操作,如今只需要动动手指就可以轻松达到。然而在我们享受网络科技便利的同时,也不能忽视

  4. 12

    2019-11

    代理ip中的HTTP报文的语法

    所有的HTTP报文都是可以分为两类,请求报文(request message)和响应报文(response message)。请求报文会向Web服务器请求一个动作。响应报文会将请求的结果返回给客户端。请求和响应报文的基本报

  5. 09

    2019-08

    HTTP代理IP与网络爬虫有关联吗?

    使用HTTP代理IP可以帮助我们完成很多工作,例如补量、网络营销、投票等等,最重要的还有网络爬虫。那么,HTTP代理IP与网络爬虫的关联是什么呢?

  6. 11

    2019-06

    python爬虫怎么设置HTTP代理服务器

    代理服务器的功能是代理网络用户去取得网络信息,好比是网络信息的中转站。做python爬虫时,如果你想突破访问限制,HTTP代理服务器可以帮助你,不仅如此,HTTP代理服务器还可以帮助用户隐