一个网页的节点太多,一个个的用正则表达式去查找不方便且不灵活。BeautifulSouphtml文档转换成一个属性结构,每个节点都是python对象。这样我们就能针对每个结点进行操作。参考如下代码:

from urllib.request import urlopen
from urllib import error
from bs4 import BeautifulSoup try:
html = urlopen("http://www.pythonscraping.com/pages/page1.html")
bsObj = BeautifulSoup(html.read())
except error.HTTPError as e:
print("HTTPError:.....")
except error.URLError as e:
print("URLError....") else:
print(bsObj.h1)

BeautifulSoup中传入的就是urlopen中反馈的html网页。

运行结果报错:

解决方法:

这个提示的意思是没有给BeautifulSoup中传递一个解析网页的方式。有2中方式可以使用:html.parser以及lxml。这里我们先用html.parser,lxml。

看源码:

需要传入这四种解析方式。

最新文章

  1. Enterprise Solution 进销存管理软件 C/S架构,支持64位系统 物流,资金流,信息流全面集成
  2. bootstarp
  3. (原创)项目部署-Tomcat设置默认访问项目及项目重复加载问题处理
  4. DataSnap控件TDSServerClass属性LifeCycle生命周期管理(From李维)
  5. BZOJ3257 : 树的难题
  6. Javascript中call和apply的区别与详解
  7. 次表面散射(SubSurface Scattering) Shader 【转】
  8. 反射-Reflect
  9. linux上很方便的上传下载文件工具rz和sz
  10. mvc4 整合nhibernate3.0配置
  11. ABP 框架从源码学习——abp框架启动核心类AbpBootstrapper(2)
  12. DRUID连接池配置详情
  13. java操作svn工具类SvnUtil
  14. idea配置.gitignore后无法起作用
  15. iOS悬浮窗口(无论界面跳转、View始终在视图上显示,可移动)
  16. 超级NB的防DDOS(小量级)攻击的脚本
  17. Git的使用(一)
  18. MongDB备份error: boost::filesystem::create_directory
  19. HTTP中Get、Post、Put与Delete。了解一下!
  20. jndi连接数据库配置过程总结

热门文章

  1. Docker下使用disconf:极速体验
  2. GlusterFs卷类型分析及创建、使用(结合kubernetes集群分析)
  3. jquery ajax到servlet出现中文乱码(utf-8编码下)
  4. 通过js获取tinymce4.x的值
  5. JAVA多线程高并发面试题总结
  6. response中文乱码问题
  7. Linux下一键安装包的基础上安装SVN及实现nginx web同步更新
  8. 编程范式 --- 函数式编程(Funtional Programming,简称FP)
  9. FILETIME类型到LARGE_INTEGER类型的转换
  10. 使用.NET Core中创建Windows服务(一) - 使用官方推荐方式