Requests库实战

一、京东商品页面爬取

import requests
url = "https://item.jd.com/2967929.html"
try:
    r= requests.get(url)
    r.raise_for_status()
    r.encoding = r.apparent_encodin
    print(r.text[:1000])
except:
    print("爬取失败")

二、亚马逊商品爬取

检查返回状态码为503

检查编码 r.encoding 'ISO-8859-1'

改成可阅读编码r.encoding = r.apparent_encoding

查看requests头部信息 r.requests.header

更改头部信息:

kv = {'user-agent':'Mozilla/5.0'}

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

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

r.status_code 200

全部代码:

import requests

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

try:
    kv = {'user-agent':'Mozilla/5.0'}
    r = requests.get(url,headers = kv)
    r.raise_for_status()
    r.encoding = r.apparent_encoding
    print(r.text[1000:2000])
except:
    print("爬取失败")

三、百度360搜索关键字提交

搜索引擎关键词提交接口

百度的关键词接口:http://www.baidu.com/s?wd=keyword

360的关键词接口:http://www.so.com/s?q=keyword

百度搜索全代码

import requests
keyword ="Python"
try:
    kv={'wd':keyword}
    r=requests.get("http://www.baidu.com/s",params=kv)
    print(r.request.url)
    r.raise_for_status()
    print(len(r.text))
except:
    print("爬取失败")

四、网络图片的爬取和存储

网络图片连接的格式:

http://www.example.com/picture.jpg

全代码:

import requests
import os
url = ""
root=""	#保持文件的目录
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,'web') as f:
    f.write(r.content)
    f.close()
    print("文件保存成功")
else:
    print("文件已经存在”)
except:
    print("爬取失败")

五、IP地址归属地自动查询

ip138网站接口:

http://m.ip138.com/ip.asp?ip=ipaddress

IP地址查询全代码:

import requests
url = "http://m.ip138.com/ip.asp?ip="
try:
    r=requests.get(url+'202.204.80.112')
    r.raise_for_status()
    r.encoding = r.apparent_encoding
    print(r.text[-500:])
except:
    print("爬取失败")

猜你喜欢

转载自blog.csdn.net/Canon_M/article/details/82885048