前言
这是个十分简单的爬虫小练习
我们的目标是爬取这个小网页中的人名
分析网页结构供下面解析网页数据使用
第一步.导入所需要的etree类和BeautifulSoup类
from lxml import etree #这个导入后时可能会报错但不影响使用
from bs4 import BeautifulSoup
第二步.获取到网页源代码(由于我使用的是个网页文件,我这里就直接打开这个文件)
with open("D:/桌面/html_doc.html","r") as f: #里面的路径是网页文件所在的路径
data = f.read()
第三步.对网页数据进行解析
1.etree+xpath的方法解析数据
from lxml import etree
with open("D:/桌面/html_doc.html","r") as f:
data = f.read()
h = lxml.etree.HTML(data) #对需要匹配的HTML对象进行初始化
# name_list = h.xpath('/html/body/p[2]/a/text()') ##绝对路径
name_list = h.xpath('//a/text()') ##相对路径
for i in name_list:
name = i.strip()
print(name)
2.beautifulsoup+selector的方法解析数据
from bs4 import BeautifulSoup
with open("D:/桌面/html_doc.html","r") as f:
soup = BeautifulSoup(f,features='lxml')
# name_list = soup.select('html>body>p:nth-last-child(2)>a') ##绝对路径
name_list = soup.select('a') ##相对路径
for i in name_list:
name = i.text.strip()
print(name)