python爬虫入门教程-python爬虫入门(一)

一、爬虫的基本知识:

1. 什么是爬虫

爬虫的英文翻译为spider或者crawder,意为蜘蛛或者爬行者,从字面意思我们可以体会到:爬虫就是把自己当做蜘蛛或者爬行者,沿着既定路线,爬到指定节点,猎取食物获取目标。在这里我们的蜘蛛网即互联网,我们爬取的方法即为路径,我们所要获取的数据即为食物或目标。

2. 爬虫的核心

爬取网页

解析数据

难点:与反爬虫博弈(反爬虫: 资源的所有者,想要保护资源,避免被第三方爬虫程序批量的把资源下载下去。想办法区分爬虫程序和正常的用户。)

3. 爬虫的语言

php:虽然是世界上最好的语言,但是天生不是干爬虫的命,PHP对多线程、异步支持不足,并发不足。爬虫是工具性程序,对速度和效率要求较高。

java:生态圈完善,是Python最大对手。但是Java本身很笨重,代码量大。重构成本比较高,任何修改都会导致大量代码的变动。最要命的是爬虫需要经常修改部分代码。

CC++:运行效率和性能几乎最强,但是学习成本非常高,代码成型较慢,能用C/C++写爬虫,说明能力很强,但是不是最正确的选择

Python:语法优美、代码简介、开发效率高、三方模块多,调用其他接口也方便。有强大的爬虫Scrapy,以及成熟高效的scrapy-redis分布式策略。

4. 爬虫分类

通用爬虫

也就是百度、Google、360、搜狐、firefox等搜索引擎。特点是爬取网站所有内容、但不能根据客户需求给出特定内容。在这里,各家浏览器根据其pagerank分进行网站搜索的排名,同时还有竞价排名。

聚焦爬虫

就是现在我们这些爬虫程序员所进行的工作,就是根据客户的需求,爬取指定网站的特定内容。

二、如何学习爬虫

1. 首先要理解什么是http/https协议

2. python基础知识

urllib.request

urllib.parse

正则表达式等等基础知识。

3. 开发工具

sublime Text3:下载安装请参考菜鸟教程:sublime下载安装

4. 抓包工具

chrome浏览器的开发者模式,在这里可以检查网页的各种元素。

fiddler:原本是为测试来测试网站的,后来成了爬虫工程师最喜爱的工具。这是一款开源软件,可以直接去官网下载安装https://www.telerik.com/downl...

postman:可以根据请求头信息生成简单的网页爬取代码,界面相对于fiddler也要美观

motimproxy

三、代码实现简单的爬虫实例

python爬虫有多简单,下面我一行代码爬取百度首页,如同在浏览器输入网址一样简单

import urllib.request

urllib.request.urlretrieve('http://www.baidu.com/', 'baidu.html')

上面的代码只能简单抓取网页,一旦遇到需要请求头的反爬虫时就不能发挥作用了,所以一般常用的爬虫代码如下:

import urllib.request

url = 'http://www.baidu.com/'

request = urllib.request.Request(url)

response = urllib.request.urlopen(request)

with open('baidu.html', 'wb') as f:

f.write(response.read())

请求头反反爬虫:

import urllib.request

#指定url

url = 'https://www.qiushibaike.com/'

#定义请求头对象

headers = {

'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36'

}

#获取网页信息

request = urllib.request.Request(url, headers=headers)

response = urllib.request.urlopen(request)

with open('xiushi.html','wb') as f:

f.write(response.read())

今天先写到这儿了,我争取做到每日分享,与大家一起学习,一起进步,为了美好的明天,艰苦奋斗。

————你与别人的差距在加班的时间。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值