设为首页收藏本站

Crossin的编程教室

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

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

[复制链接]

0

主题

0

好友

137

积分

注册会员

Rank: 2

楼主
发表于 2018-1-24 09:49:42 |显示全部楼层
def parse_page_detail(html,url): #解析子页面
    soup = BeautifulSoup(html,'lxml')
    title = soup.select('title')[0].get_text()
    #print(title)
    images_pattern = re.compile('gallery: JSON.parse\((.*?)\),\n',re.S)
    result = re.search(images_pattern,html)
    if result:
        #print(result.group(1))
        data = json.loads(result.group(1)) #loads方法应该是把json对象转化为字典,但这里不知道为什么成了字符串对象?
        data = eval(data)  # 将字符串对象转化为字典,用eval或exec方法。
        if data and 'sub_images' in data.keys():
            sub_images = data.get('sub_images')
            #print(sub_images)
            images = [item.get('url') for item in sub_images]
            #print(images)
            for image in images:
                image = image.replace('\\','')
                #print(image)
                download_image(image)
            return {
                'title':title,
                'url':url,
                'images':images

                }

给你参考一下
回复

使用道具 举报

0

主题

0

好友

137

积分

注册会员

Rank: 2

沙发
发表于 2018-1-24 15:30:54 |显示全部楼层
loads方法应该是把json对象转化为字典,但这里不知道为什么成了字符串对象?
你知道这是怎么回事吗?
你把你loads后的数据type()一下看看是什么类型
回复

使用道具 举报

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

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

GMT+8, 2024-5-5 18:53 , Processed in 0.026084 second(s), 22 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部