Day 21 BeautifulSoup模组三

今天的影片内容为介绍分析项目清单与表格文件的方法
而在影片的後半部,会带大家离开新手村,爬取一个真正的网页!!!/images/emoticon/emoticon24.gif

以下为影片中有使用到的程序码

<!doctype html>
<!-- 请将此档案储存成bs4_HTML2.html -->
<html lang="zh-tw">
<head>
    <meta charset="utf-8">
	<title>资料输出2</title>
</head>
<body>
<h1>水母在生物学中的分类</h1>
<p>撷取自<a href="https://zh.wikipedia.org/wiki/%E6%B0%B4%E6%AF%8D">维基百科</a></p>
<br>
<h2>科学分类</h2>
<ol>
    <li>界--动物界</li>
	<li>亚界--真後生动物亚界</li>
	<li>演化支--副同源异形基因动物</li>
	<li>演化支--浮浪幼虫样动物</li>
	<li>门--刺胞动物门</li>
</ol>
   
</body>
</html>
<!doctype html>
<!-- 请将此档案储存成bs4_HTML3.html -->
<html lang="zh-tw">
<head>
    <meta charset="utf-8">
	<title>资料输出2</title>
</head>
<body>
<h1>水母在生物学中的分类1</h1>
<p>撷取自<a href="https://zh.wikipedia.org/wiki/%E6%B0%B4%E6%AF%8D">维基百科</a></p>
<br>

<table border="1">

<thead>
    <tr><th>科学分类</th><th>类别名称</th></tr>
</thead>

<tbody>
    <tr><td>界</td><td>动物界</td></tr>
    <tr><td>亚界</td><td>真後生动物亚界</td></tr>
    <tr><td>演化支</td><td>副同源异形基因动物</td></tr>
    <tr><td>演化支</td><td>浮浪幼虫样动物</td></tr>
    <tr><td>门</td><td>刺胞动物门</td></tr>
</tbody>

</table>


</body>
</html>
#爬取项目清单文件
#请将C:\\Users\\ASUS\\Desktop\\bs4_HTML\\修改为bs4_HTML2.html在您电脑中的路径
import bs4

fn = "C:\\Users\\ASUS\\Desktop\\bs4_HTML\\bs4_HTML2.html"
htmlfile = open(fn, encoding = "utf-8")
objsoup = bs4.BeautifulSoup(htmlfile, 'lxml')

#清单标题
objtag = objsoup.find('h2')
print(objtag)
print(objtag.text)

print("="*100)
#清单内容
objitem = objsoup.find('ol')
print(objitem)

items = objitem.find_all('li')
print(items)

for data in items:
    print(data.text)
    
print("="*100)
#最终成品
print(objtag.text)
for data in items:
    print(data.text)
#爬取表格文件
#请将C:\\Users\\ASUS\\Desktop\\bs4_HTML\\修改为bs4_HTML3.html在您电脑中的路径
import bs4

fn = "C:\\Users\\ASUS\\Desktop\\bs4_HTML\\bs4_HTML3.html"
htmlfile = open(fn, encoding = "utf-8")
objsoup = bs4.BeautifulSoup(htmlfile, 'lxml')


objtable = objsoup.find_all('tr')
print(objtable)

print("="*100)

for data in objtable:
    print(data.text)
#爬取表格文件2.0
#请将C:\\Users\\ASUS\\Desktop\\bs4_HTML\\修改为bs4_HTML3.html在您电脑中的路径
import bs4

fn = "C:\\Users\\ASUS\\Desktop\\bs4_HTML\\bs4_HTML3.html"
htmlfile = open(fn, encoding = "utf-8")
objsoup = bs4.BeautifulSoup(htmlfile, 'lxml')

tableobj = objsoup.find_all('tr')
print(tableobj)

print("="*100)
#改良
classification = [] #科学分类
name = [] #类别名称

for data in tableobj[1:]:
    content = data.find_all('td')
    print(content)
    classification.append(content[0].text)
    name.append(content[1].text)

print("="*100)
#列印出两串列
print(classification)
print(name)

print("="*100)
#最终成品
table = dict(zip(classification, name))
print(table)
#双赢彩开奖号码
import requests, bs4 

url = "https://www.taiwanlottery.com.tw/index_new.aspx"
htmlfile = requests.get(url)

objsoup = bs4.BeautifulSoup(htmlfile.text, 'lxml') 
doublewin = objsoup.find(class_ = 'contents_box06')
print(doublewin)

print("="*120)

#提取开奖号码
balls = doublewin.find_all(class_='ball_tx ball_blue')
print(balls)

order_1 = [] #开出顺序
order_2 = [] #大小顺序

for ball in balls:
    if len(order_1) < 12:
        order_1.append(ball.text)
    else:
        order_2.append(ball.text)
        
print("="*120)
        
#最终成果
time = doublewin.find('span')
print(time.text)
print("开出顺序", order_1)   
print("大小顺序", order_2)

本篇影片及程序码仅提供研究使用,请勿大量恶意地爬取资料造成对方网页的负担呦!
如果在影片中有说得不太清楚或错误的地方,欢迎留言告诉我,谢谢您的指教。


<<:  React - Props & State

>>:  Day 21 评估Privacy by Design实作

IAP 建立Https

IAP Https 今天来说说IAP在连线网页上的实作以及运用,昨天已有大致的提到了IAP对应Htt...

Day8 用python写UI-聊聊功能钮Button

Button()方法有在前两天的时候提了一些,今天会更详细的介绍Buton()的使用方法 (o゜▽゜...

【Day15】公园跟你家院子—全域变数与区域变数的区别

JavaScript的变数依使用的切分范围(作用域)可以分为两种: 区域变数 全域变数 前面提到透...

[Day18] POPCAT in WASM (Part 2)

好 那今天就会完成这个小专案 可能 CSS 的部份写的没有很好 ouo 读者可以自行修改 还是再放一...

第29天:档案下载

目前我们完成档案上传的功能,接下来就要进行档案下载 写一个专门下载档案的Action,接受ID参数,...