爬虫入门实例(一)

import requests
#导入requests库,前提是已安装requests库,可以通过在命令提示符窗口输入pip3 install requests得到,后期配置有问题,可以尝试按Alt+回车
url = "http://www.baidu.com"
# url内存放要爬取的页面网址,主意网址的错误
try:
   r = requests.get(url)
   # 定义变量r存放response对象
   r.raise_for_status()
   # 检验状态码(说法可能不太准确), r.status_code =200或者r.raise_for_status()==None说明无异常,
   r.encoding = r.apparent_encoding
   # r.encoding:从HTTPheader中猜测的响应内容编码方式,只是猜测,只是猜测,只是猜测
   # r.apparent_encoding:从内容中分析出的响应内容编码方式,一般常用的是‘utf-8’。
   print(r.text)
   # 输出页面内容,输出的是源码,当网页代码较长时,可以通过切片来限定,例如r.text[:100]输出前100的字符。
except:
   print("爬取失败!")
import requests
url = "https://www.amazon.cn/dp/B073LJR2JF/ref=cngwdyfloorv2_recs_0?pf_rd_p=4940946c-0b2b-498c-9e03-31cf7dae70ec&pf_rd_s=desktop-2&pf_rd_t=36701&pf_rd_i=desktop&pf_rd_m=A1AJ19PSB66TGU&pf_rd_r=0VBSDZTEFWPWMG7F7X7M&pf_rd_r=0VBSDZTEFWPWMG7F7X7M&pf_rd_p=4940946c-0b2b-498c-9e03-31cf7dae70ec"
try:
    d = {'user-agent':'Mozilla/5.0'}
    # 亚马逊网站限制有爬虫引起的访问,当爬去失败时,可以通过r.requests.headers查看头部访问
    r = requests.get(url,headers = d)
    r.raise_for_status()
    r.encoding  = r.apparent_encoding
    print(r.text[0:1000])
except:
    print("失败")
import requests
try:
    d = {'kw':"python"}
    url = "http://www.baidu.com"
    r = requests.get(url,params=d)
    # print(requests.get(url)) 显示状态码无误
    # print(r.request.url) 显示网址
    r.raise_for_status() # 检查请求是否成功,是返回None
    print(len(r.text))
    # 得到网页代码长度
    print(r.text)
except:
    print("爬取失败!")
import requests
import os
root = "C://Users/root/Desktop/web/"
#这是我本机的储存路径,注意书写的反斜杠,反斜杠,反斜杠
url = "" # 图片地址或视频地址
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("文件已存在")
        print(path)
except:
    print("爬取失效")
# http://m.ip.138.com/ip.asp?ip=ipaddress
import requests
url = "http://m.ip.138.com/ip.asp?ip="
try:
    d = {}
    r = requests.get(url+'123.129.244.228')
    # ‘’内的内容是要查询的IP,如果只知道域名,可以ping一下;
    # 若在后续运行中还有问题,可能是原网的限制,改一下headers;
    r.raise_for_status()
    r.encoding = r.apparent_encoding
    print(r.text[-500:])
    # 输出后500个字符
except:
    print("爬取失败!")

猜你喜欢

转载自blog.csdn.net/dldl1718/article/details/86606571