鱼C论坛

 找回密码
 立即注册
查看: 7775|回复: 2

爬虫的问题,append添加不上内容

[复制链接]
发表于 2017-3-30 12:35:37 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
import requests
from bs4 import BeautifulSoup
import bs4

def getHTMLText(url):
    try:
        r = requests.get(url)
        r.raise_for_status()
        r.encoding = r.apparent_encoding
        return r.text
    except:
        return ""
    
def fillRankInformation(rinfo, html):
    soup = BeautifulSoup(html, "html.parser")
    for tr in soup.find('tbody').children:
        if isinstance(tr, bs4.element.Tag):
            tds = tr('td')
            rinfo.append([tds[0].string, tds[1].string,tds[2].string, tds[3].string, tds[4].string, tds[5].string, tds[6].string, tds[7].string, tds[8].string])
            


def printRank(rinfo, num):
    for i in range(num):
        r=rinfo[i]
        print("{:^6}\t{:^6}\t{:^10}\t{:^10}\t{:^10}\t{:^10}\t{:^10}\t{:^10}".format(r[0],r[1],r[2],r[3],r[4],r[5],r[6],r[7],r[8]))
                                                                                     
           
def main():
    num = 50
    rlist = []
    url = 'http://www.jjwxc.net/topten.php?orderstr=7&t=1'
    html = getHTMLText(url)
    fillRankInformation(rlist, html)
    printRank(rlist, num) 
    
main()


报错 TypeError: unsupported format string passed to NoneType.__format__
如果直接输出的话输出内容为空
为什么会这样,怎么改,求大佬讲详细一点
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-3-30 12:40:59 From FishC Mobile | 显示全部楼层
因为你抓到的是nonetype的标签,没有string这个方法。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-3-30 13:07:37 | 显示全部楼层
ooxx7788 发表于 2017-3-30 12:40
因为你抓到的是nonetype的标签,没有string这个方法。

为什么会抓到nonetype而不是td标签呢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-2-12 04:33

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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