lilys_440 2021-04-28 12:30 采纳率: 100%
浏览 506
已采纳

requests抓取html, 为什么div中的内容没有被抓取

老哥们,新人入坑,在用requests抓取页面中的图片,主要是想批量下载练练手,下面这张是页面源码:

但是我爬取完之后显示id为“cp_img”的div标签内的内容为:

以下是我的测试代码,主要是想抓到那个id为cp_img的div里面的内容:

import requests as rq
from bs4 import BeautifulSoup as bf

if __name__ == "__main__":
    url = 'http://www.1kkk.com/ch66-570484-p2/'
    myheaders = {
        'User-Agent':'Mozilla/5.0',
        'Referer':'http://www.1kkk.com/ch66-570484-p2/'
    }
    res = rq.get(url=url,headers=myheaders)
    res.encoding = 'utf-8'
    con = res.text
    bf1 = bf(con,'lxml')
    with open('file.html','w') as fp:
        fp.write(bf1.prettify())
        fp.close
    imgs = bf1.find_all('div',id='cp_img')
    print(imgs)

也查了很多,有说div折叠的,有说动态加载的,但是当时我用chrome抓到的包里也没有目的图片啊

求解

展开全部

  • 写回答

4条回答 默认 最新

  • CSDN专家-黄老师 2021-04-28 12:34
    关注

    imgs = bf1.find_all('div',id='cp_img').get_text(),还要调用get_text()这个方法获取,find_all只是找到这个标签对象。

    如果觉得有帮忙,望采纳

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
    lilys_440 2021-04-28 12:45

    谢谢,但是我现在调用了get_text方法,但现在显示为空;我也重新打印了一下div标签,

    之间还是什么都没有

    回复
    CSDN专家-黄老师 回复 lilys_440 2021-04-28 12:48

    你直接输出con,查看这个网页信息有没有你要的数据,如果没有,就是你的请求有问题

    回复
    lilys_440 回复 CSDN专家-黄老师 2021-04-28 12:50

    那应该是了,我之前查看过,爬下来的源码里确实没有这个

    回复
    展开全部4条评论
查看更多回答(3条)
编辑
预览

报告相同问题?

手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部