设为首页收藏本站

Crossin的编程教室

 找回密码
 立即加入
查看: 5060|回复: 2
打印 上一主题 下一主题

requests获取网页代码解析的时候json.loads出问题

[复制链接]

12

主题

0

好友

122

积分

注册会员

Rank: 2

跳转到指定楼层
楼主
发表于 2018-1-23 22:10:31 |显示全部楼层 |倒序浏览
爬的是今日头条里面的图片,但是在这个网页里面出问题了
https://www.toutiao.com/a6514108163745120771/

snap3496.jpg

很明显,图片是包含在这个里面的,这是json

但是这个里面有一个反斜杠,搞不清楚是为什么?

image_pattern = re.compile('gallery: JSON.parse(.*?)siblingList', re.S)
img = re.findall(image_pattern, response.text)

用了一个正则把这个字符串给提取出来,提取出来的是一个列表

snap3497.jpg

由于前面多了些括号,而且里面有个反斜杠,所以对这个字符串进行了处理

img[0].replace('\\','').strip()[2:-3]

再转换json对象的时候出错

data=json.loads(img[0].replace('\\','').strip()[2:-3])

snap3498.jpg

分析的那个字符串发现的问题

snap3499.jpg

把这段更改一下程序就可以执行下去,网页中看到了问题所在

snap3500.jpg

是这个引号出问题了,不知道该怎么解决,抓了前十页的图,就这个地方出问题了,折腾了我一天,新手遇到问题没有办法呀


回复

使用道具 举报

12

主题

0

好友

122

积分

注册会员

Rank: 2

沙发
发表于 2018-1-24 14:33:19 |显示全部楼层
zhaolehua 发表于 2018-1-24 09:49
def parse_page_detail(html,url): #解析子页面
    soup = BeautifulSoup(html,'lxml')
    title = soup. ...

兄弟 谢谢了,已经弄好了,是在正则的地方出问题了 ,又学了一招,感谢

snap3501.jpg
回复

使用道具 举报

12

主题

0

好友

122

积分

注册会员

Rank: 2

板凳
发表于 2018-1-25 15:24:43 |显示全部楼层
zhaolehua 发表于 2018-1-24 15:30
loads方法应该是把json对象转化为字典,但这里不知道为什么成了字符串对象?
你知道这是怎么回事吗?
你把 ...

是str,这个不晓得怎么回事
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即加入

QQ|手机版|Archiver|Crossin的编程教室 ( 苏ICP备15063769号  

GMT+8, 2024-5-6 00:30 , Processed in 0.046258 second(s), 25 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部