python 爬虫入门(1)

来源:转载

初识爬虫

未来是数据的时代,想要获取数据,那么爬虫无疑是很好的一种手段。不同的编程语言都有不同的爬虫方式,python无疑是其中一种有着比较完善方案的选择,所以我选择以python作为我爬虫的起点。




安装

python官网下载3.5版本,安装,并将python加入环境变量中,这里不再叙述,pip安装requests库


import requests
re = requests.get('https://www.baidu.com')
print(re.status_code)
print(re.encoding)
re.encoding = 'utf-8'
print(re.text)

简单上面几行代码,就实现了python对网页的抓取,接下来详细分析一下requests库的使用。




request库的7个基本方法

方法 | 参数 | 说明
---|--- | ---
request| method 请求方法
url 模拟页面的url链接
**kwargs 控制访问的参数,共13个 | 构造一个请求,是一下方法的基础方法
get |url,模拟页面的url连接, params=null,url中的额外参数,字典或字节流格式,可选, **kwargs,12个控制访问的参数 | 获取HTML网页的主要方法,对应于HTTP的GET
post | url, **kwargs | 向HTML网页提交POST请求的方法,对应于HTTP的POST
head | url, **kwargs | 获取HTML网页头信息的方法,对应于HTTP的HEAD
put| url, **kwargs | 向HTML网页提交PUT请求的方法,对应于HTTP的PUT
patch | url, **kwargs|向HTML网页提交局部修改请求,对应于HTTP的PATCH
delete | url, **kwargs |向HTML页面提交删除请求,对应于HTTP的DELETE


以上方法都是构造一个request对象发送给服务器,并返回一个response对象




举例
如果要向一个链接post过去一个json,那么有两种办法
import requests
import json
r = requests.post(url,data=json.dumps(var))
#这里的var是字典
#或者
r = request.post(url,json=var)
#这里的var是json字符串如果请求页面通过判断User-Agent拒绝python爬虫的访问,那么可以通过修改User-Agent来重新访问
import requests
url = "http://xxxx";
ug = {'user-agent': 'mozilla/5.0'}
try :
r.request(url, header=ug)
r.raise_for_status()
r.encoding = r.apprent_encoding
print(t.text[1000:2000])
except:
print('爬取失败')抓取图片小例子
import requests
import os
url = "/2014th7cj/d/file/p/20170904/zl2esnoammt.jpg"
root = "/Users/heihei/Desktop/py_pic/"
path = root + url.split('/')[-1]
try :
if not os.path.exists(root) :
os.mkdir(root)
if not os.path.exists(path) :
r = requests.get(url)
with open(path, 'wb') as f :
f.write(r.content)
f.close()
print('文件保存成功')
else :
print('文件已存在')
except :
print('爬取失败')

分享给朋友:
您可能感兴趣的文章:
随机阅读: