beautiful soup是一个解析包,专门用来解析html语法的,lxml是一个解析器,用来分析以及定位内容的

.是class #是id

import requests
from bs4 import BeautifulSoup html = requests.get('https://www.zygx8.com/forum.php')
soup = BeautifulSoup(html.text,'lxml')
tbody = soup.select('a font b')
print(tbody)

输出

然后我们可以看到返回的都有个a标签,beautifulsoup其实有个自带的

for t in tbody:
print(t.text)

输出

键盘钩子

网络版cmd开发

Mycmd

这里选择器我们就用select,比如我们要获取title就直接soup.select('title'),通过tag逐层下找比如

soup.select('html head title')
soup.select('body a')

select_one只获取一个

这里我们来测试豆瓣

import requests
from bs4 import BeautifulSoup headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.103 Safari/537.36' }
html = requests.get('https://book.douban.com/tag/%E5%B0%8F%E8%AF%B4',headers=headers)
soup = BeautifulSoup(html.text,'lxml')
title = soup.select('.subject-list .subject-item .info h2 a')
for t in title:
print(t.text.strip().replace('\n',''))

输出

G:\python3.8\python.exe "F:/python post/code/zygx8.py"

坏小孩 : 推理之王2

活着

白夜行

小王子

解忧杂货店

红楼梦

追风筝的人

百年孤独

房思琪的初恋乐园

长夜难明 : 推理之王3

嫌疑人X的献身

平凡的世界(全三部)

1984

月亮与六便士

霍乱时期的爱情

围城

云边有个小卖部

杀死一只知更鸟

局外人

烧纸

Process finished with exit code 0

我们再清洗下

print(t.text.strip().replace('\n','').replace(' ',''))

输出

G:\python3.8\python.exe "F:/python post/code/zygx8.py"

坏小孩:推理之王2

活着

白夜行

小王子

解忧杂货店

红楼梦

追风筝的人

百年孤独

房思琪的初恋乐园

长夜难明:推理之王3

嫌疑人X的献身

平凡的世界(全三部)

1984

月亮与六便士

霍乱时期的爱情

围城

云边有个小卖部

杀死一只知更鸟

局外人

烧纸

BeautifulSoup解析页面的更多相关文章

  1. python爬虫主要就是五个模块:爬虫启动入口模块,URL管理器存放已经爬虫的URL和待爬虫URL列表,html下载器,html解析器,html输出器 同时可以掌握到urllib2的使用、bs4(BeautifulSoup)页面解析器、re正则表达式、urlparse、python基础知识回顾(set集合操作)等相关内容。

    本次python爬虫百步百科,里面详细分析了爬虫的步骤,对每一步代码都有详细的注释说明,可通过本案例掌握python爬虫的特点: 1.爬虫调度入口(crawler_main.py) # coding: ...

  2. Python爬虫 | Beautifulsoup解析html页面

    引入 大多数情况下的需求,我们都会指定去使用聚焦爬虫,也就是爬取页面中指定部分的数据值,而不是整个页面的数据.因此,在聚焦爬虫中使用数据解析.所以,我们的数据爬取的流程为: 指定url 基于reque ...

  3. python爬虫解析页面数据的三种方式

    re模块 re.S表示匹配单行 re.M表示匹配多行 使用re模块提取图片url,下载所有糗事百科中的图片 普通版 import requests import re import os if not ...

  4. beautifulsoup解析

    beautifulsoup解析 python独有 优势:简单.便捷.高效 - 环境安装 需要将pip源设置为国内源 -需要安装:pip install bs4 bs4在使用时需要一个第三方库 pip ...

  5. python3+beautifulSoup4.6抓取某网站小说(三)网页分析,BeautifulSoup解析

    本章学习内容:将网站上的小说都爬下来,存储到本地. 目标网站:www.cuiweijuxs.com 分析页面,发现一共4步:从主页进入分版打开分页列表.打开分页下所有链接.打开作品页面.打开单章内容. ...

  6. MiseringThread.java 解析页面线程

    MiseringThread.java 解析页面线程 http://injavawetrust.iteye.com package com.iteye.injavawetrust.miner; imp ...

  7. MinerUrl.java 解析页面后存储URL类

    MinerUrl.java 解析页面后存储URL类 package com.iteye.injavawetrust.miner; /** * 解析页面后存储URL类 * @author InJavaW ...

  8. BeautifulSoup解析器的选择

    BeautifulSoup解析器 在我们使用BeautifulSoup的时候,选择怎样的解析器是至关重要的.使用不同的解析器有可能会出现不同的结果! 今天遇到一个坑,在解析某html的时候.使用htm ...

  9. Python3.x的BeautifulSoup解析html常用函数

    Python3.x的BeautifulSoup解析html常用函数 1,初始化: soup = BeautifulSoup(html) # html为html源代码字符串,type(html) == ...

随机推荐

  1. 第七天Scrum冲刺博客

    1.会议照片 2.项目进展 团队成员 昨日计划任务 今日计划任务 梁天龙  学习课程页面  建议页面 黄岳康  定义个人课程  登陆页面 吴哲翰  完成页面的与后端的沟通交流  继续保持确认功能齐全 ...

  2. 精讲响应式WebClient第5篇-请求超时设置与异常处理

    本文是精讲响应式WebClient第5篇,前篇的blog访问地址如下: 精讲响应式webclient第1篇-响应式非阻塞IO与基础用法 精讲响应式WebClient第2篇-GET请求阻塞与非阻塞调用方 ...

  3. 洛谷P3817 小A的糖果 贪心思想

    一直觉得洛谷的背景故事很....直接题解吧 #include <bits/stdc++.h> //万能头文件 using namespace std; int a[100002]; // ...

  4. .net 安装部署诀窍

    1.解决方案资源管理器中有多个类库项目和一个启动主项目时:各类库项目的生成路径设为bin\debug: 启动主项目的生成路径设成指定的主输出路径: 2.打包时在应用程序文件夹中添加主输出即可,主输出的 ...

  5. .NET5.0 单文件发布打包操作深度剖析

    .NET5.0 单文件发布打包操作深度剖析 前言 随着 .NET5.0 Preview 8 的发布,许多新功能正在被社区成员一一探索:这其中就包含了"单文件发布"这个炫酷的功能,实 ...

  6. unity 模板测试 详解

    https://blog.csdn.net/u011047171/article/details/46928463#t4

  7. python小白入门基础(二:变量)

    #变量:可以改变的量就是变量,实际上是由内存开辟的一块空间,临时存在内存中,以便后续代码使用.#作用:代指内存中某个地址中的内容. #1.变量的概念name = "王五"name ...

  8. Linux安装doker

    docker安装(centos) 官方文档:https://docs.docker.com/engine/install/centos/ 前提条件 内核系统3.10以上的centos7.可用 unam ...

  9. Codeforces1348 题解

    AC代码连接 A Phoenix and Balance 显而易见,将前\(\frac{n}{2}-1\)个和最后1个分为1组,剩下的1组即为最优方案. B Phoenix and Science 这 ...

  10. luogu P3796 【模板】AC自动机(加强版)

    知识点:1.一定要删掉调试信息 2.数组别重名 code: #include <bits/stdc++.h> using namespace std; int n; int len[]; ...