,div, class = “container”> 差不多就到这里了(已经基本到最外面了)。
定位代码
要想定位到这个地方。代码就是从外到里定位的。请模仿这个写法即可。当然不一定所有的都要写上,只要条件足够筛选出数据即可。细心的同学会发现,为什么前面是find,最后一个是find_all呢?这里需要说明的是,find的作用是找到第一个即可,find_all是符合条件的都筛进来。前面是定位,最后一个detail为什么要用find_all?仔细看代码中有7个,滑动看一下就知道,这7个detail对应的是未来7天的天气预报。所以我都整下来了。
到这步就可以先printf出来康康了,可以看到我们要的数据基本都搞出来了。
定位下一步代码
到这一步就可以往下走了,因为我这里是爬7天的天气数据,而且在代码里面会发现7天的数据是几乎类似的结构,所以在这里我就用了for in的结构,这个for x in y的结构有所不同的是,y是找到的那7个detail的代码,x是一个一个取出来,读取里面的数据后,再取下一个X,直到取完所有。(这里的try和expect是报错信息,可以查看我们上一步定位的数据有没有效,比如不小心混进去个其他的数据,但是也是有类似的标签。这个数据在这一步就进行不下去,就会返回一个except的情况告诉你:你给我安排的情况和我现在拿在手上的数据匹配不上!)
现在我们来看try里面的内容,第一行,创建空字典。
第二行及其后面的都是,找到div,class=”xxx”的结构,然后加个.text就可以把中间的内容赋值给字典对应的键
第二行及其后面的都是,找到div,class=”xxx”的结构,然后加个.text就可以把中间的内容赋值给字典对应的键值
比如这里就是把红圈内的“明天”赋值到代码了,需要注意的是,像这种情况,什么回车,空格也一起赋值进去了,这也是我最后为什么
回到正题,把要的数据筛一遍后,把这个字典添加到这个列表的尾端(循环7次不就有7个字典了吗)
爬出来的原始数据
去掉了无意义字符
整段代码就这样了。是不是感觉有那么一点点触手可及了?至于后面那段去除空白字符的操作,这个和爬虫就没有关系了——就是基本的遍历,然后操作字符串就行了。
总结一下我们在干嘛。打开浏览器+F12,看到那堆代码没?爬虫的前半段会将它处理为类似于文本的信息,我们需要做的就是在这堆数据里面手动找到我们要的数据的位置,并告诉代码,然后在这堆有用信息中,我们用代码实现了从数据中挖取自己想要的数值。最后打印出来。至于这个数据要怎么用,那就是以后的事了
五、一些很重要的后话
Q:Z? WSM? 我用浏览器+F12看着数据好好的,为什么代码找不到?
A:正常,在解析网页的时候有时候会产生内容缺失。我现在遇到的有两种,一种可以通过改变解释器代码解决(你们也百度得到),另外一种就是这个数据没那么简单,需要更高级的技巧才搞得到。所以……你还是换个能爬的吧!@#¥%……
Q:我收藏了,我会了。所以你能帮帮我吗?这玩意儿还能干啥?
A: 还能……比如学生党可以查饭卡费,电费,课程安排等,其他~看你自己想象力了吧!@#¥%……&*
Q:我懂了。然后呢,你打算干嘛?
A:这个……只能说开了一个超级大坑,上到网络爬虫,下到单片机原理,我打算自己做个项目。做不做得出来就是另外一回事了,只是过程中有这么一个小小的成果,就拿出来分享一下。自勉吧。
疫情在家不如学习一下python 小默今天先教到这里喜欢小默的点个关注谢谢
#科技前线# #Python基础# #编程知识#