python爬虫之BeautifulSoup
爬虫有时候写正则表达式会有假死现象
就是正则表达式一直在进行死循环查找
例如:https://social.msdn.microsoft.com/forums/azure/en-us/3f4390ac-11eb-4d67-b946-a73ffb51e4f3/netcpu100
所以一般在解析网页的时候可以用BeautifulSoup库来解决网页的正则表达式
网上对于BeautifulSoup的解释太复杂了
我就只是选取了我爬虫需要的部分来学习,其他的有需要再去学习,没需要就不浪费时间
最起码省心了很多
解释在注释里面都有了
一句一句的打印出来看就会明白的
#!/usr/bin/python3.4
# -*- coding: utf-8 -*-
import urllib.request
from bs4 import BeautifulSoup if __name__ == '__main__':
url = "http://www.lenggirl.com/"
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.64 Safari/537.11',
'Accept': 'text/html;q=0.9,*/*;q=0.8',
'Accept-Charset': 'ISO-8859-1,utf-8;q=0.7,*;q=0.3',
'Accept-Encoding': 'gzip',
'Connection': 'close',
'Referer': None
}
data = urllib.request.urlopen(url).read()
# ('UTF-8')('unicode_escape')('gbk','ignore')
data = data.decode('UTF-8', 'ignore')
# 初始化网页
soup = BeautifulSoup(data, "html.parser")
# 打印整个网页
html = soup.prettify()
# 打印<head>...</head>
head = soup.head
# 打印<body>...</body>
body = soup.body
# 打印第一个<p>...</p>
p = soup.p
# 打印p的内容
p_string = soup.p.string
# soup.p.contents[0]为Aug 22, 2016
# soup.p.contents为[' Aug 22, 2016\n ']
p_string = soup.p.contents[0]
# 将body里面的所有头打印出来
for child in soup.body.children:
#print(child)
pass
# 将所有的<a>...</a>和<p>...</p>打印出来
a_and_p = soup.find_all(["a","p"])
# 找到<a>...</a>下所有的网址
for myimg in soup.find_all('a'):
img_src = myimg.get('href')
#print(img_src)
# 找到<a>...</a>下类为class_='a'下面的<img>...</img>里面的src
for myimg in soup.find_all('a', class_='a'):
img_src = myimg.find('img').get('src')
# 网页所有信息
#print(html)
python爬虫之BeautifulSoup的更多相关文章
- 使用Python爬虫库BeautifulSoup遍历文档树并对标签进行操作详解(新手必学)
为大家介绍下Python爬虫库BeautifulSoup遍历文档树并对标签进行操作的详细方法与函数下面就是使用Python爬虫库BeautifulSoup对文档树进行遍历并对标签进行操作的实例,都是最 ...
- Python爬虫——用BeautifulSoup、python-docx爬取廖雪峰大大的教程为word文档
版权声明:本文为博主原创文章,欢迎转载,并请注明出处.联系方式:460356155@qq.com 廖雪峰大大贡献的教程写的不错,写了个爬虫把教程保存为word文件,供大家方便下载学习:http://p ...
- 【Python爬虫】BeautifulSoup网页解析库
BeautifulSoup 网页解析库 阅读目录 初识Beautiful Soup Beautiful Soup库的4种解析器 Beautiful Soup类的基本元素 基本使用 标签选择器 节点操作 ...
- Python爬虫之BeautifulSoup的用法
之前看静觅博客,关于BeautifulSoup的用法不太熟练,所以趁机在网上搜索相关的视频,其中一个讲的还是挺清楚的:python爬虫小白入门之BeautifulSoup库,有空做了一下笔记: 一.爬 ...
- Python爬虫系列-BeautifulSoup详解
安装 pip3 install beautifulsoup4 解析库 解析器 使用方法 优势 劣势 Python标准库 BeautifulSoup(markup,'html,parser') Pyth ...
- Python爬虫之Beautifulsoup模块的使用
一 Beautifulsoup模块介绍 Beautiful Soup 是一个可以从HTML或XML文件中提取数据的Python库.它能够通过你喜欢的转换器实现惯用的文档导航,查找,修改文档的方式.Be ...
- Python 爬虫—— requests BeautifulSoup
本文记录下用来爬虫主要使用的两个库.第一个是requests,用这个库能很方便的下载网页,不用标准库里面各种urllib:第二个BeautifulSoup用来解析网页,不然自己用正则的话很烦. req ...
- 通过哪吒动漫豆瓣影评,带你分析python爬虫与BeautifulSoup快速入门【华为云技术分享】
久旱逢甘霖 西安连着几天温度排行全国三甲,也许是<哪吒之魔童降世>的剧组买通了老天,从踩着风火轮的小朋友首映开始,就全国性的持续高温,还好今天凌晨的一场暴雨,算是将大家从中暑边缘拯救回来了 ...
- python爬虫入门--beautifulsoup
1,beautifulsoup的中文文档:https://www.crummy.com/software/BeautifulSoup/bs4/doc.zh/ 2, from bs4 import Be ...
随机推荐
- ModelFirst的CRUD
创建实体:
- dat文件中如何编写DOS的多行命令
dat文件中如何编写DOS的多行命令 2012-10-15 11:29 四海柔情108 分享到: 2012-10-16 23:36 提问者采纳 你问的应该是BAT文件吧?BAT是DOS命令的批 ...
- 【Sublime Text 3】
- IE6 IE8下背景图片不显示问题
更改background:url()no-repeat; 去掉no-repeat即可解决问题!
- rsync 使用示例
导读 Rsync(remote sync) 是用于同步某一位置文件和目录到另一位置的有效方法.备份的位置可以在本地服务器或远程服务器.本站之前亦有介绍rsync的安装配置和教程,详看<rsync ...
- Log4J 使用实战
前言: 日志在开发和服务中扮演重要的角色, 有人用来追查/分析问题, 有人通过日志, 来记录重要的信息. 日志是数据分析和统计最重要的数据来源. 在Java领域, Log4j日志框架成为java开发人 ...
- 关于JSP的C标签之forEach循环分隔符
页面中可能说出现在forEach循环中间需要出力分隔符的问题, 比如: 小明 1年级,小王 2年级, 小张 3年级(循环单位是 ${bean.name} ${bean.class}) 此时的逗号出力, ...
- Hibernate--Enum类型的set集合映射到数据库(xml配置文件实现方式)
使用enum 存储Permission的值 package demo; public enum Permission { CREATE,DELETE,UPDATE;} Role与Permissi ...
- NOIP2011 普及組 統計單詞數
题目描述 一般的文本编辑器都有查找单词的功能,该功能可以快速定位特定单词在文章中的位置,有的还能统计出特定单词在文章中出现的次数. 现在,请你编程实现这一功能,具体要求是:给定一个单词,请你输出它在给 ...
- CodeForces 558A
Description Amr lives in Lala Land. Lala Land is a very beautiful country that is located on a coord ...