前言

以博客园为例,爬取我的博客上首页的发布时间、标题、摘要,本篇先小试牛刀,先了解下它的强大之处,后面讲beautifulsoup4的详细功能。

一、安装

1.打开cmd用pip在线安装beautifulsoup4

>pip install beautifulsoup4

二、解析器

1.我们主要用第一个html.parser,这个是python的标准库,可以直接用。其它几个需要安装对应解析器,

下表列出了主要的解析器,以及它们的优缺点:

三、打印首页博客的时间

1.这里直接定位不好定位到,可以先定位它的父元素:class="dayTitle"

2.用requests里的get方法打开博客首页,r.content返回整个html内容,返回类型为string

3.查找所有的class属性为dayTitle的Tag类

4.获取当前Tag的标签为a的string值

四、打印摘要

1.获取标题方法跟上面一样,获取摘要的话,这里不太一样,这个父类<div class="c_b_p_desc">下多了一个子类a

2.先获取div这个Tag类,tag的 .contents 属性可以将tag的子节点以列表的方式输出

3.因为摘要可以看成是第一个子元素,取下标[0]就可以读出来

五、参考代码

# coding:utf-8
from bs4 import BeautifulSoup
import requests

r = requests.get("http://www.cnblogs.com/yoyoketang/")
# 请求首页后获取整个html界面
blog = r.content
# print blog
# 用html.parser解析html
soup = BeautifulSoup(blog, "html.parser")
# 获取所有的class属性为dayTitle,返回一个列表
times = soup.find_all(class_="dayTitle")
# for i in times:
#     print i.a.string  # 获取a标签的文本

title = soup.find_all(class_="postTitle")
# for i in title:
#     print i.a.string

# 读取摘要内容
descs = soup.find_all(class_="postCon")
# for i in descs:
#     tag的 .contents 属性可以将tag的子节点以列表的方式输出
#     c = i.div.contents[0]  # 取第一个
#     print c

for i, j, k in zip(times,title,descs):
    print i.a.string
    print j.a.string
    print k.div.contents[0]

BeautifulSoup4系列一的更多相关文章

  1. python爬虫beautifulsoup4系列2

    前言 本篇详细介绍beautifulsoup4的功能,从最基础的开始讲起,让小伙伴们都能入门 一.读取HTML页面 1.先写一个简单的html页面,把以下内容copy出来,保存为html格式文件 &l ...

  2. python爬虫beautifulsoup4系列1

    前言 以博客园为例,爬取我的博客上首页的发布时间.标题.摘要,本篇先小试牛刀,先了解下它的强大之处,后面讲beautifulsoup4的详细功能. 一.安装 1.打开cmd用pip在线安装beauti ...

  3. python爬虫beautifulsoup4系列4-子节点【转载】

    本篇转自博客:上海-悠悠 原文地址:http://www.cnblogs.com/yoyoketang/tag/beautifulsoup4/ 前言 很多时候我们无法直接定位到某个元素,我们可以先定位 ...

  4. python爬虫beautifulsoup4系列2【转载】

    本篇转自博客:上海-悠悠 原文地址:http://www.cnblogs.com/yoyoketang/tag/beautifulsoup4/ 前言 本篇详细介绍beautifulsoup4的功能,从 ...

  5. python爬虫beautifulsoup4系列1【转载】

    本篇转自博客:上海-悠悠 原文地址:http://www.cnblogs.com/yoyoketang/tag/beautifulsoup4/ 前言 以博客园为例,爬取我的博客上首页的发布时间.标题. ...

  6. BeautifulSoup4系列二

    前言 本篇详细介绍beautifulsoup4的功能,从最基础的开始讲起,让小伙伴们都能入门 一.读取HTML页面 1.先写一个简单的html页面,把以下内容copy出来,保存为html格式文件 &l ...

  7. python爬虫beautifulsoup4系列4-子节点

    前言 很多时候我们无法直接定位到某个元素,我们可以先定位它的父元素,通过父元素来找子元素就比较容易 一.子节点 1.以博客园首页的摘要为例:<div class="c_b_p_desc ...

  8. BeautifulSoup4系列四

    前言 很多时候我们无法直接定位到某个元素,我们可以先定位它的父元素,通过父元素来找子元素就比较容易 一.子节点 1.以博客园首页的摘要为例:<div class="c_b_p_desc ...

  9. 爬虫系列 | 6、详解爬虫中BeautifulSoup4的用法

    bs4,全称BeautifulSoup 4 , 它是Python独有的一种解析方式.也就是说只有Python语言才可以通过这种方式去解析数据. BeautifulSoup 3 只支持Python2,所 ...

随机推荐

  1. BZOJ4974(给Next求最小字典序原串)

    输入给出了最小循环节长度,暗示next数组. 然后自己按照自己的kmp板子逆着来一遍就好. ; int n, a, Next[maxn]; char str[maxn]; ]; int main() ...

  2. Codeforces Round #405 (rated, Div. 2, based on VK Cup 2017 Round 1) C

    Description In the army, it isn't easy to form a group of soldiers that will be effective on the bat ...

  3. 洛谷 P2714 四元组统计

    错误记录:42行N写成n:事实上除了读入以外,此题的小n没有任何用途 #include<cstdio> #include<algorithm> #include<cstr ...

  4. [已读]Sass与Compass实战

    介绍了Sass基础语法与Compass框架,这个网上参考文档就OK了,另外介绍了compass生成图片精灵和相应的css,貌似现在单纯用sass和compass的挺少,要不grunt,要不FIS,而g ...

  5. servlet service的描述:

    链接:https://www.nowcoder.com/questionTerminal/3f368578e43d48b1968d79b935d00972来源:牛客网 1.     service方法 ...

  6. 极其强大的运维工具——pscp、pssh、pslurp

    1.pscp 用于将本地文件复制到远程主机 pscp -h xxx.host 本地文件 远程目录 //xxx.host是所有目的IP的文件,一个IP一行 2.pssh 在远程机器上执行命令 pssh ...

  7. angularjs 下select中ng-options使用

    当我有一堆object数据要用下拉框进行显示选择时,可以使用到angularjs中的select中的ng-options的属性.官网网址:https://docs.angularjs.org/api/ ...

  8. 代码文件导到word里

    # 创建并写入word文档 import docx import sys import os dir = "D:\\gitwork\\fm.qimeng.c-class\\src\\main ...

  9. 031_spark架构原理

    spark核心组件 driver master worker executor task(只有task是线程) 核心组件的原理图解

  10. CentOS下JRE环境变量配置

    很多时候,我们需要在CentOS上部署tomcat,从而搭建web服务器,然JDK/JRE环境是前提,这里就记录一下,在后面的时候直接使用. 下载jre-7u80-linux-x64.tar.gz,并 ...