鱼C论坛

 找回密码
 立即注册
查看: 933|回复: 8

56课爬虫的find问题

[复制链接]
发表于 2020-4-24 17:21:32 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
56课里面没有用正则,用了一个find的方法去匹配页面
但是我为什么用find出来的都是数字啊???代码如下,这个a输出来的全都是数字,而视频里面输出来的事匹配到是偏移量后的内容,这什么意思

url = "http://jiandan.net/ooxx"

req = urllib.request.Request(url)
req.add_header("User-Agent",
               "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.113 Safari/537.36")


response = urllib.request.urlopen(req)
html = response.read().decode("utf-8")
a = html.find("current-comment-page") + 23
print(a)

返回:5797
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-4-24 17:23:54 | 显示全部楼层
现在煎蛋的网址没规律了,而且还有JS加密,建议换网站
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-24 17:26:30 | 显示全部楼层
老八秘制 发表于 2020-4-24 17:23
现在煎蛋的网址没规律了,而且还有JS加密,建议换网站

我换了其他站点,也是find()返回来感觉是一串数字,这个是因为加密导致的吗? 还是我用法有问题。返回出来的感觉有点对不上啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-24 17:27:23 | 显示全部楼层
ronald627 发表于 2020-4-24 17:26
我换了其他站点,也是find()返回来感觉是一串数字,这个是因为加密导致的吗? 还是我用法有问题。返回出 ...

你换的是哪个网站,现在大多数网站都有反爬的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-24 17:30:31 | 显示全部楼层
老八秘制 发表于 2020-4-24 17:27
你换的是哪个网站,现在大多数网站都有反爬的

我随便百度上找了一个。find()这里返回的我看视频里面返回页码一类的 但是我这里就返回了一个数字 但如果直接打印完整print(html)那完整页面里面是可以搜索到那个urrent-comment-page 字段。是因为反扒所以返回的内容对不上了?  主要是我看视频上的弹幕,有人在2020年2月还说成功了。。。我就不知道是不是我使用上有问题了。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-24 17:43:01 | 显示全部楼层
老八秘制 发表于 2020-4-24 17:27
你换的是哪个网站,现在大多数网站都有反爬的

url = "http://jiandan.net/ooxx"

req = urllib.request.Request(url)
req.add_header("User-Agent",
               "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.113 Safari/537.36")

response = urllib.request.urlopen(req)
html = response.read().decode("utf-8")
str = "current-comment-page"
if str in html:
    print(1)

想请教下,我用着中方法能匹配到。。。current-comment-page这个字段。。。我想拿后面的数字这个还有其他办法吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-24 17:54:00 | 显示全部楼层
ronald627 发表于 2020-4-24 17:43
url = "http://jiandan.net/ooxx"

req = urllib.request.Request(url)

现在很难找到那种程序容易访问并爬取的网站……建议mzitu.com做练习
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-24 19:41:26 | 显示全部楼层
老八秘制 发表于 2020-4-24 17:54
现在很难找到那种程序容易访问并爬取的网站……建议mzitu.com做练习

刚才试了一下 。。。成功了。。。开始没理解find()的用法。。。正确使用以后煎蛋可以解析出来图片页数和图片地址。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-25 20:24:00 | 显示全部楼层
find的返回值就是int类型的,是你所找的内容的下标索引值,你找到他的索引值之后加上23,拿到的当然就是数字,你可以用[:]来分割字符串,这样就能取出内容
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-26 20:25

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表