1.利用requests.get(url)获取网页页面的html文件
1
2
3
4
|
import requests newsurl = ‘http://news.gzcc.cn/html/xiaoyuanxinwen/‘ res = requests.get(newsurl) #返回response对象 res.encoding = ‘utf-8‘ |
2.利用BeautifulSoup的HTML解析器,生成结构树
1
2
|
from bs4 import BeautifulSoup soup = BeautifulSoup(res.text, ‘html.parser‘ ) |
3.找出特定标签的html元素
1
2
3
4
5
6
7
8
|
soup.p #标签名,返回第一个 soup.head soup.p.name #字符串 soup.p. attrs #字典,标签的所有属性 soup.p. contents # 列表,所有子标签 soup.p.text #字符串 soup.p.string soup.select(‘li‘) |
4.取得含有特定CSS属性的元素
1
2
|
soup.select( ‘#p1Node‘ ) soup.select( ‘.news-list-title‘ ) |
5.练习:
取出h1标签的文本
1
|
print (soup.h1.text) |
取出a标签的链接
1
2
|
for link in soup.select( ‘a‘ ): print (link.get( ‘href‘ )) |
取出所有li标签的所有内容
1
2
|
for i in soup.select( ‘li‘ ): print (i.contents[ 1 ]) |
取出一条新闻的标题、链接、发布时间、来源
1
2
3
4
|
print (soup.select( ‘.news-list-title‘ )[ 0 ].text) print (soup.select( ‘li‘ )[ 0 ].a.attrs[ ‘href‘ ]) print (soup.select( ‘.news-list-info‘ )[ 0 ].contents[ 0 ].text) print (soup.select( ‘.news-list-info‘ )[ 0 ].contents[ 1 ].text) |