0

ローカル マシンに保存された静的な HTML ページがあります。シンプルなファイルオープンとBeautifulSoupを使ってみました。ファイルが開いていると、Unicode エラーと BeautifulSoup が原因で HTML ファイル全体が読み取られず、ライブ Web サイトで機能します。

#with beautifulSoup
from bs4 import BeautifulSoup
import urllib.request
url="Stack Overflow.html"
page = urllib.request.urlopen(url)
soup = BeautifulSoup(page.read())
universities=soup.find_all('a',class_='institution')
for university in universities:
    print(university['href']+","+university.string)


#Simple file read
with open('Stack Overflow.html', encoding='utf-8') as f:
    for line in f:
        print(repr(line))

HTML を読んだ後、属性を持たないulandからデータを抽出したいと思います。liどんな推薦も大歓迎です。

4

2 に答える 2

1

私はあなたが正確に何を意味するのか分かりません。ローカル ストレージから html データ全体を読み取り、bs4.

右?

ここでいくつかのコードを提案します:

from bs4 import BeautifulSoup

with open("Stack Overflow.html", encoding="utf-8") as f:
    data = f.read()
    soup = BeautifulSoup(data, 'html.parser')
    # universities = soup.find_all('a', class_='institution')
    # for university in universities:
    #     print(university['href'] + "," + university.string)
    ul_list = soup.select("ul")
    for ul in ul_list:
        if not ul.attrs:
            for li in ul.select("li"):
                if not li.attrs:
                    print(li.get_text().strip())
于 2017-01-03T05:16:50.620 に答える