python学习笔记 BeautifulSoup趴数据
最近再一家互联网公司实习,原来是使用java,头要求从网页上抓取数据,做成可视化页面。要求使用python脚本
参考的资料 :python简明教程 百度一下,就可以搜到电子版本;是以2.7为基础的,非常适合初学者,不厚,却没有那么多废话
公司询问之后,发现,虽然python已经升级到3.3以上,可是大部分的公司都还在使用python2.7,是出于稳定性的考虑。除非出现新的无法解决的bug,才会小心的升级到最近的可以解决问题的稳定版本。
为了从网页中趴取数据:使用了python+ 一种html网页解析神器具:beautifulsoup
我使用的mac,mac自己集成了py2.7,可以安装py3.3, 建议不要吧默认设为py 3.3,会导致无法安装easy_install,pip
可以使用pip beautifulsoup 来安装sudo pip install beautifulsoup, 需要用到系统权限,所以要加sudo
关于beautifulsoup的使用可以参考以下两个连接:
官方中文教程:点击打开链接
还有一篇博客:http://www.cnblogs.com/twinsclover/archive/2012/04/26/2471704.html
推荐使用的是 PyCharm,社区免费版本已经足够使用。公司里大部分用的都是这个,还有一部分坚守再sublime text上
mport urllib
from BeautifulSoup import BeautifulSoupurl = "连接";
allData=""content = urllib.urlopen(url).read()
soup = BeautifulSoup(content)tags1 = soup.findAll('tr', {"class": "even right"})
tags2 = soup.findAll('tr', {"class": "odd right"})
比如上面的就是 利用写的一些代码,是要取出网页中class 为even right 的所有tr
和所有class 为odd right的所有tr
取出之后就可以打印出他的内容,例如:
for tag in tags2:t= tag.contents[1]s = t.text #获取tag中得内容print "\t" + s,allData += "\t" + st= tag.contents[2]s = t.textprint "\t" + s,allData += "\t" + s,t= tag.contents[3]s = t.textprint "\t" + s, allData += "\t" + s,
open("/Users/charleszhu/alldata.csv", "w").write(allData)
这里值得注意的是 python中使用输出如何不换行的一个小技巧就是:print之后,加一个逗号,就可以不换行输入,若要换行,可以输出“\n”,或者直接print不加逗号。
同时python中得for循环,是按照缩进,来判断层次的,需要格外注意~再PyCharm中,写中文注释运行时候可能会报错,在文件头上加上 #coding:utf-8(带上#)就可以确保运行不报错
同时 你可以将你的内容全部写入文件中 就可以再对应位置写入相应文档。
python学习笔记 BeautifulSoup趴数据相关推荐
- Head First Python学习笔记4——处理数据
有这么几组数据需要你处理: James 2-34,3:21,2.34,2.45,3.01,2:01,2:01,3:10,2-22 Julia 2.59,2.11,2:11,2:23,3-10,2-23 ...
- Python学习笔记 - 探索字符串数据操作
大家好,我是Mr数据杨,设想一下,我们身处<三国演义>的热血世界,赵云.曹操.孔明都是我们的亲密朋友.在这个世界里可以用Python的字符串 + 运算符来合并孔明的锦囊妙计和赵云的勇武之谋 ...
- Python学习笔记:一维数据的插值
插值是离散函数逼近的重要方法,利用它可通过函数在有限个点处的取值状况,估算出函数在其它点处的近似值.与拟合不同的是,要求曲线通过所有的已知数据.SciPy的interpolate模块提供了许多对数据进 ...
- Python学习笔记——数据分析之数据可视化工具实战案例:世界高峰数据可视化
世界高峰数据可视化 (World's Highest Mountains) 参考:https://www.kaggle.com/alex64/d/abcsds/highest-mountains/le ...
- Python学习笔记_1_基础_2:数据运算、bytes数据类型、.pyc文件(什么鬼)
Python学习笔记_1_基础_2:数据运算.bytes数据类型..pyc文件(什么鬼) 一.数据运算 Python数据运算感觉和C++,Java没有太大的差异,百度一大堆,这里就不想写了.比较有意思 ...
- Python学习笔记:用Python获取数据(本地数据与网络数据)
Python学习笔记:用Python获取数据(本地数据与网络数据) 一.用Python获取本地数据 读写文件(三种基本模式:r, w, a) 1.写文件 2.读文件
- Python学习笔记:使用PIL批量合成jpg+png图片,用于水印、合并图片,生成YOLO数据集+标注数据等等
[Python学习笔记] 使用PIL,批量合成jpg+png图片,用于水印.合并图片,生成YOLO数据集+标注数据等等 起因:在了解很多关于YOLOv5的相关内容,于是尝试着去训练自己的游戏目标检测模 ...
- Python学习笔记---merge和concat数据合并(1)
Python学习笔记-merge和concat数据合并(1) Python学习笔记-merge和concat数据合并(2) 文章目录 Python学习笔记---merge和concat数据合并(1) ...
- 【Python学习笔记—保姆版】第四章—关于Pandas、数据准备、数据处理、数据分析、数据可视化
第四章 欢迎访问我搞事情的[知乎账号]:Coffee 以及我的[B站漫威剪辑账号]:VideosMan 若我的笔记对你有帮助,请用小小的手指,点一个大大的赞哦. #编译器使用的是sypder,其中&q ...
- 【Python学习笔记】b站@同济子豪兄 用pytorch搭建全连接神经网络,对Fashion-MNIST数据集中的时尚物品进行分类
[Python学习笔记]原作b站@同济子豪兄 用pytorch搭建全连接神经网络,对Fashion-MNIST数据集中的时尚物品进行分类 跟着b站@同济子豪兄的视频自学写的代码,内容是用pytorch ...
最新文章
- 通俗易懂的Harris 角点检测
- 写给大家看的机器学习书【Part1】什么是机器学习?机器学到的到底是什么?
- Linux GCC lib库相互引用,互相依赖(交叉引用)链接解决办法
- Linked List Cycle II - LeetCode
- python识别人脸多种属性_深度学习人脸识别仅9行python代码实现?同时高效处理100张相片?...
- 预处理阶乘和阶乘逆元_计算数字的阶乘| 8086微处理器
- 【Linux入门学习之】vi/vim编辑器必知必会
- Java写js的Ajax代码_用JS写的一个Ajax库(实例代码)
- 选修课期末html作业,中南大学生命科学导论选修课期末作业
- 定制你自己的CRF模型以及JAVA实现的Word2Vec模型和一些java版NLP的工具
- c语言0x00如何不截断_数组越界及其避免方法,C语言数组越界详解
- RTI_DDS自定义插件开发 4 接收方
- Linux修改SSH端口号
- A certificate chain processed, but terminated in a root certificate which is not trusted...
- l2逐笔接口更新的频率是多少?
- hive中reduce类函数说明
- 电池续航时间增10倍
- 我去!三面字节跳动,竟次次败,带薪摸鱼偷刷阿里老哥的面试宝典,成功上岸!
- InnoDB关键特性之插入缓冲
- mysql 跨服务器复制_mysql数据库跨服务器间复制与迁移