python爬虫(二):requests库(常用)

requests库是第三方库,需要安装(anaconda自带),但友好度更高

教程:http://docs.python-requests.org/zh_CN/latest/

连接网页并打印网页内容:

import requests

r = requests.get("http://www.baidu.com")

r.encoding = 'utf-8'

r.status_code #HTTP请求的返回状态,200表示连接成功,404表示连接失败

r.text

明显requests库更好用

实例1:爬取一个页面

简单实现:

import requests

r = requests.get('https://item.jd.com/7694047.html')

r.status_code

r.encoding

r.text

# 全代码(集成框架)

import requests

url = 'https://item.jd.com/7694047.html'

try:

r = requests.get(url)

r.raise_for_status()

# apparent_coding是基于文本内容分析出的格式

r.encoding = r.apparent_encoding

print(r.text[:1000])

except:

print(r.status_code)

实例2:隐藏

# 实例2:添加headers

import requests

url = 'https://www.amazon.cn/gp/product/B01M8L5Z3Y'

try:

kv = {'user-agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36'}

r = requests.get(url,headers=kv)

r.raise_for_status()

# apparent_coding是基于文本内容分析出的格式

r.encoding = r.apparent_encoding

print(r.text)

print(r.text[:1000])

except:

print(r.status_code)

如果要使用代理ip:

import requests

proxy_id = { "http": "http://10.10.1.10:3128"}

requests.get("http://example.org", proxies=proxy_id)

如果要使用cookies,类似这样做:

import requests url = 'http://httpbin.org/cookies' cookies = {'testCookies_1': 'Hello_Python3', 'testCookies_2': 'Hello_Requests'} # 在Cookie Version 0中规定空格、方括号、圆括号、等于号、逗号、双引号、斜杠、问号、@,冒号,分号等特殊符号都不能作为Cookie的内容。 r = requests.get(url, cookies=cookies)

实例3:向url传值

(如百度搜索‘python’)

实例4:保存图片

r.content 表示 r的2进制文件

猜你喜欢

转载自blog.csdn.net/weixin_42490528/article/details/84845204
今日推荐