python爬虫其实是爬取互联网上的网页并且对于网页上的信息进行分析从而提取出有用的信息,我们需要的python模块有urllib库和BeautifulSoup 模块
BeautifulSoup 模块的安装
pip install BeautifulSoup 4 等它安装完成即可
并在.py文件下调用 from bs4 import BeautifulSoup 进行调用
开始使用 BeautifulSoup 4 之前需要进行初始化我们创建一个BeautifulSoup 4的对象soup
souphtml = open (‘soup.html’,‘rb’) ##打开实现已经保存好的html页面
html = BHhtml.read() #读取
Soup=BeautifulSoup(html,“html.parser”) ##html是指需要分析的页面
利用 find_all函数查询对应的页面上的class 元素
Souptag = bs.find_all(class_=“#这里填写需要查询的class元素”)
如果有多个元素可以使用for运行进行多次查找,而且如果是有多个class元素可以进行多次查询
例如:
number = len(Soupag) #获取对应的class的个数
for imit in range(number): #第一层循环
Suopli=Souptag[imit].find_all(‘这里填写需要查询的函数’)
如果需要获取标签内的数据,但是里面存着空格可以使用text.strip().replace(‘ ’, ‘’) 将空格剔除
完整代码如下:
Suophtml = open (py_html,‘rb’) #py_html打开需要爬虫的页面
html = Suophtml.read() #字符串传入python,为什么我们需要将页面先爬取下来再分析呢,这样有助于进行多线程操作
bs = BeautifulSoup(html,“html.parser”) #传入BeautifulSoup
Suoptag = bs.find_all(class_=py_html_class) #查询页面上需要爬取的class
number = len(Suoptag) #获取对应的class的个数
for imit in range(number): #第一层循环
Suopli = Suoptag[imit].find_all(‘li’) #这里是需要查询的class里面的元素
number2 = len(Suopli) #这里是获取class元素里面的个数
for imit2 in range(number2): #进行第二次循环
print(imit2) 打印获取要的数据
更多关于phyton爬虫相关的内容可以参考了解 html程序语言的基础入门。