0.可以新建一个用于练习的html文件,在浏览器中打开。
1.利用requests.get(url)获取网页页面的html文件
import requests str=requests.get('http://news.gzcc.cn/html/2018/xiaoyuanxinwen_0328/9113.html') str.encoding='utf-8' print(str.text)
2.利用BeautifulSoup的HTML解析器,生成结构树
from bs4 import BeautifulSoup soup=BeautifulSoup(str.text,'html.parser')
3.练习:
取出h1标签的文本
ps=soup.select('h1') for i in ps: print(ps[i].text)
取出a标签的链接
print(soup.select('a')[0].select('href'))
取出所有li标签的所有内容
ps=soup.select('li') for i in ps: print(i)
取出第2个li标签的a标签的第3个div标签的属性
ps=soup.select('li') print(ps[1].a.selected('div')[2])
4.取出一条新闻的标题、链接、发布时间、来源
str.encoding='utf-8' #print(str.text) from bs4 import BeautifulSoup soup=BeautifulSoup(str.text,'html.parser')
print(soup.select('div .news-list-info')[0].select('span')[0].text) #提取标题 print(soup.select('div .news-list-title')[0].text) #提取来源 print(soup.select('div .news-list-info')[0].select('span')[1].text) #提取链接 print(soup.select('div .list-container')[0].select('li')[0].select('a')[0].attrs)