使用beautifulsoup爬取丁香网评论

beautiful soup介绍

Beautiful Soup提供一些简单的、python式的函数用来处理导航、搜索、修改分析树等功能。它是一个工具箱,通过解析文档为用户提供需要抓取的数据,因为简单,所以不需要多少代码就可以写出一个完整的应用程序。

Beautiful Soup将复杂HTML文档转换成一个复杂的树形结构,每个节点都是Python对象,所有对象可以归纳为4种:

  1. Tag
  2. NavigableString
  3. BeautifulSoup
  4. 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__ = "[email protected]"
# __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.csdn.net/tichimi3375/article/details/82313728

https://blog.csdn.net/HHXUN/article/details/79059554

扫描二维码关注公众号,回复: 5429446 查看本文章

猜你喜欢

转载自blog.csdn.net/mengxj168/article/details/88094551
今日推荐