2

私は**Pythonの非常に新しいプログラマーです。urllib と beautifulsoup を使用して Web クローラーに取り組んでいます。上部の while ループと i のインクリメントは無視してください。私はこのテスト バージョンを 1 ページだけ実行していますが、最終的にはセット全体が含まれます。私の問題は、これがスープを取得することですが、エラーが発生することです。テーブル データが正しく収集されているかどうかはわかりませんが、このコードがリンクを無視して、テキストを .csv ファイルに書き込むだけで済むことを願っています。今のところ、テキストを画面に正しく出力することに集中しています。

line 17, in <module>
    uspc = col[0].string
IndexError: list index out of range

コードは次のとおりです。

import urllib
from bs4 import BeautifulSoup

i=125
while i==125:
    url = "http://www.uspto.gov/web/patents/classification/cpc/html/us" + str(i) + "tocpc.html"
    print url + '\n'
    i += 1
    data = urllib.urlopen(url).read()
    print data
    #get the table data from dump
    #append to csv file
    soup = BeautifulSoup(data)
    table = soup.find("table", width='80%')
    for row in table.findAll('tr')[1:]:
        col = row.findAll('td')
        uspc = col[0].string
        cpc1 = col[1].string
        cpc2 = col[2].string
        cpc3 = col[3].string
        record = (uspc, cpc1, cpc2, cpc3)
        print "|".join(record)
4

1 に答える 1