【原创】GlidedSky第一关:requests+xpath方法

就如CSDN其他的作者说的一样,GlidedSky网站主要是提供给python爬虫感兴趣的伙伴们一个交流练习的网站,希望有同样爱好的伙伴们,在尝试接触该网站前注意作者以下内容:


定位

镀金的天空是一个互联网技能认证网站,要保证用户解出一道题目就意味着拥有了解决类似问题相应的技能,所以会激励以下行为:

  • 解决题目证明自己拥有题目所考核的相关技能。
  • 协助他人学习掌握题目所考核的相关技能。

对应的,会惩罚以下行为:

  • 不具备题目所考核的相关技能的情况下,包括但不限于抄袭答案,代码等形式通过题目。
  • 协助他人在不具备题目所考核的技能的情况下,通过题目。

在题目的设置上,追求:

  • 实用性,题目考察的技能有具体的使用场景。
  • 体系性,一个领域会出一系列题目,保证该领域有全面的认识。

附上网页地址:http://www.glidedsky.com


以下是我个人练习该网站的源代码:

import requests                                                 #导入请求模块
from lxml import etree                                          #导入解析模块

url = "http://www.glidedsky.com/level/web/crawler-basic-1"      #爬取网址
headers = {"User-Agent":"",
           "cookie":""
           }                                                    #输入你的headers表头和cookie


response = requests.get(url=url,headers=headers)                #第一步:发送请求
page = response.text                                            #第二步:获取响应的文本“response.text”,并实例给一个对象“page”
tree = etree.HTML(page)                                         #第三步:传入“page”到etree模块,解析文本数据“etree.HTML(page)”,并实例给一个对象“tree”
html = tree.xpath("//div[@class='col-md-1']/text()")            #第四步:建立表达式,从tree中查找目标信息,并返回给对象“html”
sum_int = 0                                                     #第五步:先设立答案为0
for item in html:                                               #第六步:建立一个for循环,让“item”从”html“中逐个获取符合表达式的目标信息
    # 第七步:根据题目要求,把所有的数据累计起来“sum_int +=”;注意获取的目标信息中,是有空格的,需要去掉并返回数字格式“int(item.strip())”
    sum_int += int(item.strip())                                
    print(sum_int)                                              #第八步:输出答案

写这个的目的是为了给刚入门的伙伴一些思路和方法,建议在理解这份源代码后可以尝试写一个属于自己的源代码,比如说:用Beautiful soup、scrapy、selesium等等其他模块来尝试一下,又或者可以用面向对象的方法来修改我这份代码(我这份是面向过程)

注意:抄袭答案只会给你短暂的虚荣感,能够自己动手通过考验才是本人和网址作者的本意!!!


作者第一篇文章,给个面子啦!!!!!

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

inganxu

感谢您的支持!!!!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值