吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1226|回复: 7
收起左侧

[已解决] 【python】爬取的数据为空时怎么替换成另一个数据

[复制链接]
lanzifei 发表于 2020-11-15 23:27
本帖最后由 lanzifei 于 2020-12-19 15:38 编辑


求助,标题1不存在为空时,怎么用标题2代替,然后保存

标题1报错的原因是有的页面没有这个标签


fp = open('./1.txt', 'w', encoding='utf-8')
for li in li_list:
    # title = li.a.string
    detail_url = '#' + li['href']
    # print(detail_url)
    # 对详情页发起请求,解析出章节内容
    detail_page_text = requests.get(url=detail_url, headers=headers).text
    # 解析出详情页中相关的章节内容
    detail_soup = BeautifulSoup(detail_page_text, 'lxml')
    div_tag1 = detail_soup.find('h2', class_='title').text #标题1
    div_tag2 = detail_soup.find('h1', class_='title').text #标题2
    div_bianhao = detail_soup.find('h3', id="gallery_id").text  #编号

    # 解析到了章节的内容

    fp.write(div_bianhao + ' : ' + div_tag1 + ' : ' + '\n')
    print(div_bianhao, '爬取成功!!!')
#报错div_tag1 = detail_soup.find('h2', class_='title').text #标题1AttributeError: 'NoneType' object has no attribute 'text'


搞不懂0.0

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

青山绿水meng 发表于 2020-11-16 00:25
用try报错会自动继续,程序不会停止
kicebeauty 发表于 2020-11-16 00:26
正己 发表于 2020-11-16 00:27
tsecond 发表于 2020-11-16 07:03
try的同时  要在div_tag1 = detail_soup.find('h2', class_='title').text #标题1 之前检测一下detail_soup是否有你的数据。
liu199192 发表于 2020-11-16 10:09
用我java小白的经验告诉你  应该需要加一个判断
taoxiaotaott 发表于 2020-11-16 15:44
使用find_all,将tag1等变量变成list,然后加入if判断list !=[]


 楼主| lanzifei 发表于 2020-11-16 20:20
呜呜呜,我蠢,不会写代码,求求路过的大哥帮我写一下,百度了一下午你们说的东西,结果还是搞不懂。。。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-26 11:50

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表