网络爬虫的简单例子
###京东页面的简单爬取
import requests
url="http://item.jd.com/2967929.html"
try:
r=requests.get(url)
r.raise_for_staus()
r.encoding=r.apparent_encoding
print(r.text[:1000])
except:
print("爬取失败")
###对于像亚马逊的网站会反爬虫需要伪装成浏览器
import requests
url="###"##亚马逊的网站
try:
kv={'user-agent':'Mozilla/5.0'}
r=requests.get(url,headers=kv)
r.raise_for_staus()
r.encoding=r.apparent_encoding
print(r.text[:1000])
except:
print("爬取失败")
###对于搜索引擎的关键词提取
##百度的关键词的接口:
## http://www.baidu.com/s?wd=keyword
##360关键词的接口
### http://www.so.com/s?q=keyword
import requests
keyword="pyhton"
try:
kv={'wd':keyword}
r=requests.get("http://baidu.com",params=kv)
r.raise_for_status()
print(r.text[:1000])
except:
print("爬取失败")
###爬取图片的代码
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,'wb') as f:
f.write(r.content)
f.close()
print("文件保存成功")
else:
print("文件已经存在")
except:
print("爬取失败")
####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("爬取失败)