蟒蛇爬行武神主宰最新章节动物学习日记(3)
花了很长时间才继续。这一次,我真的开始抓取网站内容,站乙没有爬回来。这一次,我用两种方法将视频的标题和播放量记录在了b站的总列表中。
播放音量-这里将不描述常规匹配。如果你想了解百度,你可以详细谈谈。环库是必需,
进口re
规则匹配的抓取原则是在抓取网页源代码的前提下,有规则地匹配我们设置的源代码的具体位置,从而选择我们想要的内容。接下来,举个例子
你可以看到我们想要的回放量是
<。我喜欢& # 34;b-icon play & # 34;>。<。/i>。
xxxx
<。/span>。
后面的视频回放量符合这一条件,因此我们必须定期匹配这两者
reg = r & # 39\<。i类\ = \ & # 34;b \-图标播放\ & # 34;\>。\<。\/i\>。(。*?)\<。\/span \\ gt。& # 39;
特殊符号最好用\,否则它们不能一直匹配,中间的星星要求最好的解决方案,也就是说,我要中间的所有符号和数字。下一步是编译和查找,这些都是规律性的必要过程
reg _ lists =重新编译(reg)
列表= re。它背后的html1是需要被发现的,这是网页的源代码
如果在这里是常规的,它将被完成,并且列表将包含所有匹配的游戏数量。
播放音量- xpath路径。然后获取标题,并在这里记录一个方法。lxml,选择用xpath路径爬网内容。
从lxml导入etree
首先,需要源代码,然后对源代码进行属性化
大秦诛神司最新章节html = etree。超文本标记语言
在这里,我使用了一个插件,或者我可以右键单击标题位置,然后直接在副本中复制xpath
url _ xpath1 = & # 34/html/body/div[@ id = & # 39;app & # 39]/div[@ class = & # 39;b-page-body & # 39;]/div[@ class = & # 39;rank-main-container main-inner b-wrap & # 39;]/div[@ class = & # 39;排名容器& # 39;]/div[@ class = & # 39;等级体& # 39;]/div[@ class = & # 39;排名列表包装& # 39;]/ul[@ class = & # 39;排名表& # 39;]/li[@ class = & # 39;排名项目& # 39;]/div[@ class = & # 39;内容& # 39;]/div[@ class = & # 39;信息& # 39;]/a[@ class = & # 39;标题& # 39;]& # 34;
这是标题的xpath路径,然后xpath方法返回路径。获得的表是我们想要的路径中的所有元素,元素类型也是一个表,其中我们想要的标题类型是文本。
url _ list s1 = html . xpath(url _ xpath 1)
获得的表是我们想要的路径中的所有元素,元素类型也是一个表,其中我们想要的标题类型是文本。所以如果我们想印刷,我们必须
对于url _ lists1中的x:
打印(x.text) #打印文本
所有的工作都完成了。这是全部代码。
从lxml导入etree
导入请求
进口re
url = & # 34/ranking? spm _ id _ from = 333.851 . b _ 7072696d 61727950616765546162.3 & # 34;#b电台排行榜网址
req = requests.session()
res = req.get(url)
html1 = res.text #源代码
html = etree。#字符源代码
url _ xpath1 = & # 34/html/body/div[@ id = & # 39;app & # 39]/div[@ class = & # 39;b-page-body & # 39;]/div[@ class = & # 39;rank-main-container main-inner b-wrap & # 39;]/div[@ class = & # 39;排名容器& # 39;]/div[@ class = & # 39;等级体& # 39;]/div[@ class = & # 39;排名列表包装& # 39;]/ul[@ class = & # 39;排名表& # 39;]/li[@ class = & # 39;排名项目& # 39;]/div[@ class = & # 39;内容& # 39;]/div[@ class = & # 39;信息& # 39;]/a[@ class = & # 39;标题& # 39;]& # 34;#标题的xpath
url _ list 1 = html . xpath(url _ xpath 1)# xpath方法返回路径
reg = r & # 39\<。i类\ = \ & # 34;b \-图标播放\ & # 34;\>。\<。\/i\>。(。*?)\<。\/span \\ gt。& # 39;#播放音量的规律性
reg _ lists =重新编译(reg) #编译
列表= re。在源代码中搜索
打印(len(url_lists1)) #打印排行榜的长度
对于压缩中的x,y(网址列表1,列表):#遍历两个表
打印(x.text,& # 39;& # 39;,y) #以标题播放量的形式打印
这是我今天的清单,100
跑步后,它相当成功。我无法通过xpath方法获得广播音量,估计的路径总是错误的,但我也无能为力,所以只能通过规律性来获得。
下次我想在评论区找到特定的字符,这需要翻页并返回到哪一页,但这并不太困难。让我们看看运气是不是更新了。爬行者快结束了,都是老板们玩的坏事,所以我以后会记录ctf的问题。
文章来源:www.atolchina.com