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. 18

    2019-03

    没有IP代理软件的初学 Python 需要安装哪些软件?

    编程这个东西是真的奇妙。对于懂得的人来说,会觉得这个工具是多么的好用、有趣,而对于小白来说,就如同大山一样。其实这个都可以理解,大家都是这样过来的。那么接下来就说一下python

  2. 13

    2019-06

    稳定的代理ip有哪些神操作?

    有的用户以为一台计算机只有一个IP地址,其实不然。我们可以指定一台计算机具有多个IP地址,因此在访问互联网时,不要以为一个IP地址就是一台计算机;另外,通过特定的技术,也可以使多

  3. 13

    2019-11

    代理IP包含哪些类别?

    我们知道, 代理IP 按请求信息的安全性可以分为透明代理、普通匿名代理和高级匿名代理三大类。但是,按照使用的目的不同代理IP可以分成下述几种类别。

  4. 31

    2019-05

    HTTP代理IP和socks5代理IP一样吗?

    有些朋友分不清什么是HTTP代理IP,什么是socks5代理IP,经常将两者搞混,结果买错了产品,甚至有的客户想将错就错,问我HTTP代理IP能不能当成socks5代理IP用,或者socks5代理IP能不能当成HTTP来使

  5. 16

    2019-04

    使用代理IP真的能隐藏自己的真实IP吗?

    代理IP的作用越来越大,有用来做爬虫的,有用来做批量注册的,还有用来投票的等等,还有很多用来隐藏自己真实的IP,做一些不可描述的事情,也有很多朋友问,使用代理IP真的能隐藏自己的

  6. 23

    2019-10

    网络代理ip如何设置使用?

    代理服务器 管理对Internet的访问,并阻止外部设备访问您的网络。如果您所在的网络使用代理服务器连接到Internet,则可以向Password Manager提供代理服务器详细信息。您可以使用“网络代理设置”