从获取到的html中取数字和

掘金主页:

追_风筝的人 的个人主页 - 动态 - 掘金 (juejin.cn)

右键检查,发现数据都在,起码没有加密什么的,然后打开控制台-网络-刷新,第一个就是主体,发现所有数据都在里面,所以找到对应的URL,准备写爬虫,但是返回来的数据竟然没有数字,我很纳闷,再仔细一看,嗷,原来是JavaScript脚本没有被网页执行,准备爬取js文件的,但是我一看,你这都摆在HTML上了,我还爬什么js文件啊,直接cirl+A,复制文本到TXT文档里,然后开始写算法,最后成功得出结果:341185

import sys
import time
import os
import json

import re  # 正则表达式,进行文字匹配

def is_number(s):
    try:  # 如果能运行float(s)语句,返回True(字符串s是浮点数)
        float(s)
        return True
    except ValueError:  # ValueError为Python的一种标准异常,表示"传入无效的参数"
        pass  # 如果引发了ValueError这种异常,不做任何事情(pass:不做任何事情,一般用做占位语句)
    try:
        import unicodedata  # 处理ASCii码的包
        unicodedata.numeric(s)  # 把一个表示数字的字符串转换为浮点数返回的函数
        return True
    except (TypeError, ValueError):
        pass
    return False

uus = ''
with open(r'C:\Users\ycl\PycharmProjects\untitled8\靶场测试.txt','r',encoding='utf-8') as f:

    str = f.readlines()

jj = 0
print(type(str))

for i in str:
    num = re.findall('                            (.*?)\n', i)
    if num is not None:
        for ii in num:
            if (is_number(ii)==True):
                jj += float(ii)

print(jj)
# for i in str:
#     uus += i
# uus.split('\n')
# print(uus)
#
# t = re.findall(r'<div class="col-md-1">(.*?)</div>', uus)
# print(t)
'''                        <div class="col-md-1">\n', '                            166\n'''





# response.encoding = 'utf-8'
# html = response.text
# # print(html)
# js = json.loads(html)
# print(js)

作者:追_风筝的人
链接:https://juejin.cn/post/7140632993676132388
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

当我拿到结果,准备写答案时,网站显示不安全,不让我访问,无视风险继续访问, 得到:

我真的无语了.....

总结:

虽然靶场是坏的,但是也从其中学到了不少知识,遇见不能爬取的页面,如果有源码在,我们也可以复制到TXT中,之后的步骤就是response.text()一模一样了,还是re.findall()到所需要的信息,也可以复制到本地HTML中,然后抓取xpath,或者利用css选择器来获取信息

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值