一:京东页面商品信息爬取
网页地址为:https://item.jd.com/100006359561.html
爬取代码为:
import requests
url = "https://item.jd.com/100006359561.html"
try:
r = requests.get(url)
r.raise_for_status()
r.encoding = r.apparent_encoding
print(r.text[:1000])//截取前1000个字符
except:
print("打印失败")
结果为:
【华为Mate Xs】华为 HUAWEI Mate Xs 5G麒麟990 SoC旗舰芯片 8英寸可折叠全面屏8GB+512GB星际蓝 5G全网通【行情 报价 价格 评测】-京东
案例2:亚马逊商品页面的提取
代码如下:
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])
except:
print("打印失败")
由于亚马逊网站检验到是python进行网络爬虫,返回的代码号不是200,故需要模拟一个浏览器来进行访问,利用键值对来更改头部的信息
案例3:百度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("打印失败")
带上关键词使用参数params
案例4:网络图片的爬取与存储
网络图片链接的格式:
http://www.example.com/picture.jpg
代码如下:
import requests
import os
url = "http://image.ngchina.com.cn/2020/0228/20200228015847431.jpg"
root = "D://pics//"
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("爬取失败")
案例5:IP地址归属地的自动查询
http://m.ip138.com/ip.asp?ip=ipaddress
代码如下:
import requests
url = "http://m.ip138.com/ip.asp?ip=202.204.80.112"
try:
kv = { 'user-agent' : 'Chrome/10.0' }
r = requests.get(url,headers = kv)
r.raise_for_status()
r.encoding = r.apparent_encoding
print(r.text[:1000])
except:
print("爬取失败")