beautiful soup介绍
Beautiful Soup提供一些简单的、python式的函数用来处理导航、搜索、修改分析树等功能。它是一个工具箱,通过解析文档为用户提供需要抓取的数据,因为简单,所以不需要多少代码就可以写出一个完整的应用程序。
Beautiful Soup将复杂HTML文档转换成一个复杂的树形结构,每个节点都是Python对象,所有对象可以归纳为4种:
- Tag
- NavigableString
- BeautifulSoup
- Comment
1.Tag 就是html中的一个个标签
tag有两个重要的属性,name和attrs
2.NavigableString 就是指内容
#打印出标签p中的内容
print (soup.p.string)
3.BeautifulSoup 表示的是一个文档的内容
⼤部分时候,可以把它当作Tag 对象, 是⼀个特殊的 Tag
4.Comment 特殊的NavigableString对象
#! /usr/bin/env python
# -*- coding: utf-8 -*-
# __author__ = "wxwinder"
# __email__ = "wxwinder@qq.com"
# __website__ = "www.cnblogs.com/bravexz"
import requests
from bs4 import BeautifulSoup
url='http://www.dxy.cn/bbs/thread/626626#626626'
headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko'}
req= requests.get(url, headers=headers)
html=req.text
soup=BeautifulSoup(html, 'html.parser')
line=[]
name=[]
data=[]
new_data=[]
#建立列表存储数据
for i in soup.find_all('div', class_="auth"): # 名字
name.append(i.text)
for i in soup.find_all('td', class_="postbody"): # 名字
line.append(i.text)
#页面头文件分析,得出结果
for i in range(0,4):
data.append(name[i]+"&&&&&"+line[i])
for i in data:
x=i.replace("\n","").replace("\t","").replace(" ","")
new_data.append(x)
#数据清理得出结果,具体实现如下
print(new_data)
参考:https://blog.youkuaiyun.com/tichimi3375/article/details/82313728