52 lines
1.1 KiB
Python
52 lines
1.1 KiB
Python
import requests
|
|
from bs4 import BeautifulSoup
|
|
|
|
url = "https://python123.io/ws/demo.html"
|
|
header = {
|
|
"User-agent": 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36 Edg/106.0.1370.52'}
|
|
try:
|
|
r = requests.get(url, headers=header)
|
|
r.raise_for_status() # 检验是否出错
|
|
r.encoding = r.apparent_encoding # 编码一致
|
|
except:
|
|
print("出现异常")
|
|
|
|
demo = r.text
|
|
soup = BeautifulSoup(demo, 'html.parser')
|
|
|
|
# 寻找a标签中的href内容
|
|
for link in soup.find_all("a"):
|
|
print(link.get('href'))
|
|
|
|
print(soup.find_all('a')) # 查找a标签的内容
|
|
print(soup.find_all(['a', 'b'])) # 查找a、b 标签的内容,列表形式查询,列表形式发出
|
|
for tag in soup.find_all(True):
|
|
print(tag.name)# 查询内容为True ,显示标签所有内容
|
|
|
|
print(soup.find_all('p','course'))# 寻找p标签中属性有course值的标签
|
|
print(soup.find_all(id='link1'))# 寻找属性id=link1的标签,需要完整给出搜索内容
|
|
|
|
print(soup.find_all('a',recursive=False))#结果为空,关掉recursive只检索儿子节点的内容
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
r.close()
|