前面infos的find_all没有报错,print(infos)可以成功,但到下面爬具体内容的时候就显示AttributeError: 'NoneType' object has no attribute 'find_all',请问该怎么解决呀
爬虫报错,headers也加了为啥还报错呀?
前面infos的find_all没有报错,print(infos)可以成功,但到下面爬具体内容的时候就显示AttributeError: 'NoneType' object has no attribute 'find_all',请问该怎么解决呀
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
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)
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 蓝桥oj3931,请问我错在哪里
- ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
- ¥15 关于#Java#的问题,如何解决?
- ¥15 加热介质是液体,换热器壳侧导热系数和总的导热系数怎么算
- ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计
- ¥15 cmd cl 0x000007b
- ¥20 BAPI_PR_CHANGE how to add account assignment information for service line
- ¥500 火焰左右视图、视差(基于双目相机)
- ¥100 set_link_state
- ¥15 虚幻5 UE美术毛发渲染