爬虫基础

记录一下爬虫的一些基础代码

1. 连接百度,返回数据

import  urllib.request  # 导入模块
url2 = "http://www.baidu.com"       # 百度地址
req = request.Request(url2)         # 得到的是一个Request 对象
with request.urlopen(req) as response:    # 在 urlopen()中传入request 对象,返回的是 HTTPResponse
    print(response.geturl())              # 返回一个 url 地址
    print(response.info())                # 返回的是请求消息头部的信息
    # html = fr.read()                      # getcode() : 得到状态码
                                            # getheaders() 返回头部信息的键值对 

2. 下载图片

import  urllib.request  # 导入模块
import  ssl
con = ssl._create_unverified_context()      # 表示不验证

with request.urlopen(url3,context=con) as fr:   # 在urlopen() 参数里面传入 ssl 的常量,表示不进行验证,否则会报“证书异常”
    img = fr.read()
        with open('a.jpg','wb') as fw: # 写到非文本数据,必须是二进制,所以需要 'wb'
        fw.write(img)

3. 处理标准形式

import  urllib.request  # 导入模块
url2 = "http://www.baidu.com"       # 百度地址
with request.urlopen(url2) as fr:       # 标准形式 , 不用关流
    # data = fr.read()
    print(fr.status,fr.reason)          # 返回状态码和对应的结果 -- 200 OK
    for k,v in fr.getheaders():         # 返回连接的请求消息头
        print("%s %s"%(k,v))
        with open("head.txt",'a',) as fw:    # 将读取到的文件写到文本中,追加
            fw.write(k+str(v)+'\n')

3. opener 对象

参考博客1
参考博客2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值