wu~~ 2022-11-19 12:53 采纳率: 55.6%
浏览 25
已结题

爬虫遇到AttributeError: 'NoneType' object has no attribute 'children'该如何解决

for tr in soup.find('tbody').children:

AttributeError: 'NoneType' object has no attribute 'children'

getHTMLText(url):#爬取网站数据
    try:
        r = requests.get(url, timeout = 30)
        r.raise_for_status()
        r.encoding = r.apparent_encoding
        return r.text
    except:
        return '爬取失败'
    
def fillUnivlist(ulist,html):#解析网站数据
    soup = BeautifulSoup(html,"html.parser") 
    for tr in soup.find('tbody').children:
        if isinstance(tr,bs4.element.Tag):
            tds = tr('td')
            ulist.append([tds[0].text,tds[1].text,tds[2].text,tds[3].text,tds[4].text,tds[5].text,tds[6].text,tds[7].text])







uinfo1 =[]
url1 = 'https://www.chyxx.com/industry/202105/953391.html'
html1 = getHTMLText(url1)
fillUnivlist(uinfo1,html1)
writeUlistfile(uinfo1,'各种油产量初.csv')
运行结果及报错内容

img

我的解答思路和尝试过的方法

尝试将https改成http无效,text改成string无效

我想要达到的结果

解决报错,run起来

  • 写回答

2条回答 默认 最新

  • GaspardR 2022-11-19 14:23
    关注

    request设置参数verify=False

     r = requests.get(url, timeout=30, verify=False)
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 11月27日
  • 已采纳回答 11月19日
  • 创建了问题 11月19日

悬赏问题

  • ¥15 VSCode里的Prettier如何实现等式赋值后的对齐效果?
  • ¥15 流式socket文件传输答疑
  • ¥20 keepalive配置业务服务双机单活的方法。业务服务一定是要双机单活的方式
  • ¥50 关于多次提交POST数据后,无法获取到POST数据参数的问题
  • ¥15 win10,这种情况怎么办
  • ¥15 如何在配置使用Prettier的VSCode中通过Better Align插件来对齐等式?(相关搜索:格式化)
  • ¥100 在连接内网VPN时,如何同时保持互联网连接
  • ¥15 MATLAB中使用parfor,矩阵Removal的有效索引在parfor循环中受限制
  • ¥20 Win 10 LTSC 1809版本如何无损提升到20H1版本
  • ¥50 win10 LTSC 虚拟键盘不弹出