Python爬虫入门
Python爬虫简介(来源于维基百科):
网络爬虫始于一张被称作种子的统一资源地址(URLs)列表。当网络爬虫访问这些统一资源定位器时,它们会甄别出页面上所有的超链接,并将它们写入一张"待访列表",即所谓"爬行疆域"(crawl frontier)。此疆域上的统一资源地址将被按照一套策略循环访问。如果爬虫在他执行的过程中复制归档和保存网站上的信息,这些档案通常储存,使他们可以被查看。阅读和浏览他们的网站上实时更新的信息,并保存为网站的“快照”。大容量的体积意味着网络爬虫只能在给定时间内下载有限数量的网页,所以要优先考虑其下载。高变化率意味着网页可能已经被更新或者删除。一些被服务器端软件生成的URLs(统一资源定位符)也使得网络爬虫很难避免检索到重复内容。
简单点书,python爬虫就是一个机械化的为你查询网页内容,并且根据你制定的规则返回你需要的资源的一类程序,也是目前大数据常用的一种方式。
代码如下:
from urllib.request import urlopenfrom bs4 import BeautifulSoup
html = urlopen("http://www.jianshu.com")
bsObj = BeautifulSoup(html)
print(bsObj.h1)
nameList=bsObj.findAll("h4",{"class":"title"})for name in nameList:
        print(name.get_text())
当然,在此之前,你需要在linux上安装了python3 ,最好是3.5 这样才能保证不出错误,然后我假设是一个安装了ubuntu 16.04 的用户,你现在只需要按照下面的输入代码,就差不多了:
sudo apt-get update
更新你的软件源
sudo apt-get install python3-pip
下载python库,包文件安装工具
pip3 install bs4
下载目前最流行的HTML解析工具之一的BeautifulSoup .
然后,新建一个.py后缀的新文件,写入上述的代码,然后执行,这里是用的bs2.
.py作为文件名,所以执行下述命令,看看会发生啥~~!!
python3 bs2.py >bs.txt
执行文件
OK,现在可以查看结果了 cat bs.txt 对了,上面那个>的意思是把结果写进后面的文件
首页的显示
更改查找规则:
from urllib.request import urlopenfrom bs4 import BeautifulSoup
html = urlopen("http://www.jianshu.com")
bsObj = BeautifulSoup(html)
print(bsObj.h1)
nameList=bsObj.findAll("li",{"class":"have-img"})for name in nameList:
        print(name.get_text())
多了不少东西~~~
由于这样会对简书服务器造成负载,所以希望大家克制一下,不要过多的爬。温柔以待简书
长按二维码识别关注,您的支持是我们最大的动力。
公众号:测试梦工厂
QQ一群:300897805
  
Python爬虫入门的更多相关文章
- Python爬虫入门一之综述
		
大家好哈,最近博主在学习Python,学习期间也遇到一些问题,获得了一些经验,在此将自己的学习系统地整理下来,如果大家有兴趣学习爬虫的话,可以将这些文章作为参考,也欢迎大家一共分享学习经验. Pyth ...
 - python爬虫入门-开发环境与小例子
		
python爬虫入门 开发环境 ubuntu 16.04 sublime pycharm requests库 requests库安装: sudo pip install requests 第一个例子 ...
 - Python爬虫入门教程 48-100 使用mitmdump抓取手机惠农APP-手机APP爬虫部分
		
1. 爬取前的分析 mitmdump是mitmproxy的命令行接口,比Fiddler.Charles等工具方便的地方是它可以对接Python脚本. 有了它我们可以不用手动截获和分析HTTP请求和响应 ...
 - Python爬虫入门教程 43-100 百思不得姐APP数据-手机APP爬虫部分
		
1. Python爬虫入门教程 爬取背景 2019年1月10日深夜,打开了百思不得姐APP,想了一下是否可以爬呢?不自觉的安装到了夜神模拟器里面.这个APP还是比较有名和有意思的. 下面是百思不得姐的 ...
 - Python 爬虫入门(二)——爬取妹子图
		
Python 爬虫入门 听说你写代码没动力?本文就给你动力,爬取妹子图.如果这也没动力那就没救了. GitHub 地址: https://github.com/injetlee/Python/blob ...
 - Python爬虫入门之正则表达式
		
在前面我们已经搞定了怎样获取页面的内容,不过还差一步,这么多杂乱的代码夹杂文字我们怎样把它提取出来整理呢?下面就开始介绍一个十分强大的工具,正则表达式! 1.了解正则表达式 正则表达式是对字符串操作的 ...
 - Python爬虫入门之Cookie的使用
		
本节我们一起来看一下Cookie的使用. 为什么要使用Cookie呢? Cookie,指某些网站为了辨别用户身份.进行session跟踪而储存在用户本地终端上的数据(通常经过加密) 比如说有些网站需要 ...
 - Python爬虫入门之Urllib库的高级用法
		
1.设置Headers 有些网站不会同意程序直接用上面的方式进行访问,如果识别有问题,那么站点根本不会响应,所以为了完全模拟浏览器的工作,我们需要设置一些Headers 的属性. 首先,打开我们的浏览 ...
 - Python爬虫入门之Urllib库的基本使用
		
那么接下来,小伙伴们就一起和我真正迈向我们的爬虫之路吧. 1.分分钟扒一个网页下来 怎样扒网页呢?其实就是根据URL来获取它的网页信息,虽然我们在浏览器中看到的是一幅幅优美的画面,但是其实是由浏览器解 ...
 - 3.Python爬虫入门三之Urllib和Urllib2库的基本使用
		
1.分分钟扒一个网页下来 怎样扒网页呢?其实就是根据URL来获取它的网页信息,虽然我们在浏览器中看到的是一幅幅优美的画面,但是其实是由浏览器解释才呈现出来的,实质它是一段HTML代码,加 JS.CSS ...
 
随机推荐
- MySQL数据库4 - 查看数据表
			
一. 查看表的基本结构 语法:DESCRIBE/DESC TABLE_NAME 查询结果含义: Field: 字段名 Type: 字段类型 Null: 是否可以为空 Key: 是否编制索引 defau ...
 - Android深度探索--HAL与驱动开发----第五章读书笔记
			
第五章主要学习了搭建S3C6410开发板的测试环境.首先要了解到S3C6410是一款低功耗.高性价比的RISC处理器它是基于ARMI1内核,广泛应用于移动电话和通用处理等领域. 开发板从技术上说与我们 ...
 - java 接口和抽象类的区别
			
java 接口和抽象类的区别抽象类:1.含有抽象方法的类一定为抽象类,反过来抽象类,不一定含有抽象方法:2.抽象类必须用abstract来进行定义,抽象方法也必须用abstract来进行定义:3.抽象 ...
 - iOS UITableViewCell滑动删除
			
一般我们使用列表的形式展现数据就会用到UITableView.在熟练掌握了用UITableView展示数据以后,开发过程中可能会遇到需要删除数据的需求,我们想实现在一行数据上划动一下,然后出现一个删除 ...
 - python 字符串内建函数
			
方法 描述 string.capitalize() 把字符串的第一个字符大写 string.center(width) 返回一个原字符串居中,并使用空格填充至长度 width 的新字符串 string ...
 - HP T505恢复出厂系统
			
1.制作usb启动U盘. ------ 从HP网站上下载,或者找供应商提供 2.按F11,从U盘启动进去,会自动执行安装,等待完成即可以.
 - PHP实现文本快速查找 - 二分查找
			
PHP实现文本快速查找 - 二分查找法 起因 先说说事情的起因,最近在分析数据时经常遇到一种场景,代码需要频繁的读某一张数据库的表,比如根据地区ID获取地区名称.根据网站分类ID获取分类名称.根据关键 ...
 - 作业八:团队项目——Alpha阶段项目总结
			
1.项目的预期目标 最初的项目计划实现一款类似微信飞机大战这样的一款模拟飞行游戏,中途也没有变动. 2.目前项目实现的功能. 击落飞机并计分. 3.下阶段我们可以增加游戏更多的功能,以及增加网络在线对 ...
 - .NET 操作XML
			
在C#.net中如何操作XML 需要添加的命名空间: using System.Xml; 定义几个公共对象: XmlDocument xmldoc ; XmlNode xmlnode ; XmlEle ...
 - ansible代码分析第一篇--主文件—ansible分析
			
2016年2月23日,学习,分析ansible代码 ansible是一种运维中使用的批量部署的工具,它本身是一种框架,具体的部署和架构分析,下面这篇文章讲的不错. http://os.51cto.co ...