爬虫入门——《Python 3网络爬虫开发实战》笔记(一)

一、准备阶段

1:安装pycahrm配置环境等

不一一赘述

2:手动安装requests请求库

方法:

(1)pip安装
(2)pycharm----file----settings----project interpreter 点击加号 搜索“requests” 下载即可

二、实例

1:get请求

import requests

r=requests.get('https://www/baidu.com/')
print(type(r))
print(r.status_code)
print(type(r.text))
print(r.text)
print(r.cookies)

我们调用了get()方法得到一个response对象,然后分别输出response的类型,状态码,响应体类型,内容以及cookies
将 get 可以替换成其他请求类型 post、put、delete、head、options…

2:带参数的get请求

  • 直接将额外信息写在url后
r=requests.get('http://httpbin.org/get?name=wenny&age=50')
  • 将额外信息存进字典中
data={
	'name':'wenny'
	'age':50
}
r=requests.get('http://httpbin.org/get',params=data)
print(type(r.text))
#得到字典格式的数据
print(r.json())
print(type(r.json()))

3:抓取网页实例——知乎

import requests
import re

headers={
    'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3423.2 Safari/537.36'
}
r=requests.get('http://www.zhihu.com/explore', headers=headers)
pattern=re.compile('explore-feed.*?question_link.*?>(.*?)', re.S)
titles=re.findall(pattern,r.text)
print(titles)

4:抓取二进制数据实例

import requests

r=requests.get('http://github.com/favicon.ico')
print(r.text)
print(r.content)
with open('favicon.ico','wb') as f:
    f.write(r.content)

r.text的结果为“乱码”(直接将图片的二进制信息转化成了str类型)
r.content的结果为 二进制码直接写进文件即可。可以打开.ico文件查看该图标。

with open('favicon.ico','wb') as f:
    f.write(r.content)

open(‘文件名’,‘打开方式’)
运行结果为 文件夹中出现名为favicon.ico的图标
音频视频也可通过此方法获取,如:

import requests

r=requests.get('http://mp3.9ku.com/m4a/86179.m4a')
with open('1.mp3','wb') as f:
     f.write(r.content)

5:上传文件实例

import requests

files={'file':open('favicon.ico','rb')}
r=requests.post('http://httpbin.org/post',files=files)
print(r.text)

6:cookie维持登录状态实例

import requests

headers={
     'Cookie':'  ',
     'Host': 'www.zhihu.com',
     'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3423.2 Safari/537.36'
}
r=requests.get('https://www.zhihu.com', headers=headers)
print(r.text)

7:模拟登陆

import requests
from requests.auth import HTTPBasicAuth

r=requests.get('https://passport.csdn.net/login', auth=('账号','密码'))
print(r.status_code)

若认证成功会返回状态码:200

你可能感兴趣的:(python爬虫入门)