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

    2019-06

    营销发帖可以使用代理ip推广吗?

    网络营销使用代理IP,这不出奇,很多网络工作者其实都有在使用,知识很多人并不知道而已。

  2. 09

    2019-03

    网络营销为什么借助IP软件会更好做?

    随着电商的兴起,网络营销成为了主流,那么为什么网络营销会成为主流,又该如何做好网络营销呢?

  3. 30

    2019-05

    使用代理IP上网更安全

    我们知道,当我们上网时,我们的真实IP可能会被泄露,当被别有用心的人获取到时则可能会对我们造成一些伤害。而如果使用了代理IP上网后,则完美的隐藏了我们的本机真实IP,多加了一份安

  4. 04

    2019-09

    使用黑洞代理ip让爬虫顺利完成工作

    我们在进行网络爬虫业务时,常会碰到一些问题,不是返回一些乱七八糟的状态码,就是限制我们的ip地址,甚至封ip,或是什么内容都不返回,让我们自己来猜测。所以,网络爬虫工作这么的

  5. 31

    2019-05

    做爬虫选择哪家IP代理服务器软件?

    众所周知,没有IP代理服务器,爬虫工作就无从谈起,好的IP代理服务器资源可以让爬虫工作事半功倍,正所谓“工欲善其事必先利其器”,所以选择一个好的IP代理服务器资源至关重要。

  6. 17

    2019-05

    国内http动态短效爬虫代理IP哪家好?

    大家都知道,ip代理分为静态ip代理和动态IP代理,动态IP地址(Dynamic IP)指的是在需要的时候才进行IP地址分配的方式。动态IP地址和静态IP地址是对应的。所谓动态就是指当你每一次上网时,电