0.可以新建一個用于練習的html文件,在瀏覽器中打開。
?
1.利用requests.get(url)獲取網頁頁面的html文件
import requests
newsurl='http://news.gzcc.cn/html/xiaoyuanxinwen/'
res = requests.get(newsurl) #返回response對象
res.encoding='utf-8'
?
2.利用BeautifulSoup的HTML解析器,生成結構樹
from bs4 import BeautifulSoup
soup = BeautifulSoup(res.text,'html.parser')
?
3.找出特定標簽的html元素
soup.p #標簽名,返回第一個
soup.head
soup.p.name #字符串
soup.p. attrs #字典,標簽的所有屬性
soup.p. contents # 列表,所有子標簽
soup.p.text #字符串
soup.p.string
soup.select(‘li')
?
4.取得含有特定CSS屬性的元素
soup.select('#p1Node')
soup.select('.news-list-title')
?
5.練習:
取出h1標簽的文本
取出a標簽的鏈接
取出所有li標簽的所有內容
取出一條新聞的標題、鏈接、發布時間、來源
# 1.利用requests.get(url)獲取網頁頁面的html文件
import requests
newsurl='http://localhost:63342/filedocuments/index.html?_ijt=bi1vricmjrhamrnvli4fcktmvh'
res = requests.get(newsurl) #返回response對象
res.encoding = 'utf-8'
# print(res.text)# 2.利用BeautifulSoup的HTML解析器,生成結構樹
from bs4 import BeautifulSoup
soup = BeautifulSoup(res.text,'html.parser')# 3.找出特定標簽的html元素
print(soup.p) #標簽名,返回第一個
print(soup.head)
print(soup.p.name)#字符串
print(soup.p.attrs)#字典,標簽的所有屬性
print(soup.p.contents) # 列表,所有子標簽
print(soup.p.text)#字符串
print(soup.p.string)
print(soup.select('p'))
# 4.取得含有特定CSS屬性的元素
print(soup.select('#content'))print(soup.select('.show-nav'))# 5.練習:# 取出h1標簽的文本print(soup.select('h1')[0].text)# 取出a標簽的鏈接
print(soup.select('a')[0].attrs['href'])# 取出所有li標簽的所有內容
print(soup.select('li')[0].text)# 取出一條新聞的標題、鏈接、發布時間、來源
# 標題
print(soup.select('title')[0].text)
# 鏈接
print(soup.select('a')[0].attrs['href'])
# 發布時間
print(soup.select('.news-list-info')[0].contents[0].text)
# 來源
print(soup.select('.news-list-info')[0].contents[1].text)