Python《十》Python获取网页内容、使用BeautifulSoup库分析html

一,利用 urllib包 获取网页内容

#引入包
from urllib.request import urlopen

response = urlopen("http://fund.eastmoney.com/fund.html")
html = response.read();

#这个网页编码是gb2312
#print(html.decode("gb2312"))

#把html内容保存到一个文件
with open("1.txt","wb") as f:
    f.write(html.decode("gb2312").encode("utf8"))
    f.close()

Python《十》Python获取网页内容、使用BeautifulSoup库分析html_第1张图片

二,使用BeautifulSoup分析html

from bs4 import BeautifulSoup
with open("1.txt", "rb") as f:
    html = f.read().decode("utf8")
    f.close()

# 分析html内容
soup = BeautifulSoup(html,"html.parser")

# 取出网页title
print(soup.title) #每日开放式基金净值表 _ 天天基金网

# 基金编码
codes = soup.find("table",id="oTable").tbody.find_all("td","bzdm")

result = () # 初始化一个元组
for code in codes:
    result += ({
        "code":code.get_text(),
        "name":code.next_sibling.find("a").get_text(),
        "NAV":code.next_sibling.next_sibling.get_text(),
        "ACCNAV":code.next_sibling.next_sibling.next_sibling.get_text()
     },)
for item in result:
    print(item["name"]+"---"+item["NAV"])
# 打印结果
print(result[0]["name"])

Python《十》Python获取网页内容、使用BeautifulSoup库分析html_第2张图片

你可能感兴趣的:(Python)