code_xiaoLaji 2021-11-14 12:27 采纳率: 85.7%
浏览 53
已结题

爬虫报错,headers也加了为啥还报错呀?

img

img


前面infos的find_all没有报错,print(infos)可以成功,但到下面爬具体内容的时候就显示AttributeError: 'NoneType' object has no attribute 'find_all'​,请问该怎么解决呀

  • 写回答

2条回答 默认 最新

  • Syb呀呀 2021-11-19 14:06
    关注

    观察了一下此网站,是他的地理位置那一栏的标签顺序有变化,所以find未找到对应的值,导致解析失败无数据,建议换一种解析库,代码如下:

    import time
    import requests
    from lxml import etree
    headers={'User-Agent':'',
             'Referer':'https://dl.58.com/zufang/pg2/'} # headers参数自己补充一下,通过测试,只需要Referer和请求头即可
    for u in range(1,4):
        url='https://dl.58.com/zufang/pg2/pn'+str(u)+'/'
        print(url)
        res=requests.get(url,headers=headers,proxies=test_IP.proxies)
        dom=etree.HTML(res.text)
        title=dom.xpath("//div[@class='list-box']/ul[@class='house-list']/li/div[@class='des']/h2/a/text()")
        area=dom.xpath("//div[@class='list-box']/ul[@class='house-list']/li/div[@class='des']/p[@class='room']/text()")
        position_1=dom.xpath("//div[@class='list-box']/ul[@class='house-list']/li/div[@class='des']/p/a[1]/text()")
        position_2=dom.xpath("//div[@class='list-box']/ul[@class='house-list']/li/div[@class='des']/p/a[2]/text()")
        price=dom.xpath("//div[@class='money']/b/text()")
        for i in range(len(title)):
            print('标题为:',title[i].strip())
            print('面积为:',area[i].strip().replace(' ',''))
            print('位置为:',position_1[i]+'\t'+position_2[i])
            print('价格为:',str(price[i])+'元/每月')
            print('----------分割线----------')
        time.sleep(2)
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 11月28日
  • 已采纳回答 11月20日
  • 创建了问题 11月14日

悬赏问题

  • ¥60 求一个简单的网页(标签-安全|关键词-上传)
  • ¥35 lstm时间序列共享单车预测,loss值优化,参数优化算法
  • ¥15 基于卷积神经网络的声纹识别
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 一直显示正在等待HID—ISP
  • ¥15 Python turtle 画图