• 技术文章 >后端开发 >Python教程

    python爬虫经典例子有哪些

    coldplay.xixicoldplay.xixi2020-10-29 16:17:12原创1946

    python爬虫例子:首先导入爬虫的库,生成一个response对象;然后设置编码格式,并打印状态码;最后输出爬取的信息,代码为【print(response.text)】。

    python爬虫例子:

    1.爬取强大的BD页面,打印页面信息

    # 第一个爬虫示例,爬取百度页面
    import requests #导入爬虫的库,不然调用不了爬虫的函数
    response = requests.get("http://www.baidu.com")  #生成一个response对象
    response.encoding = response.apparent_encoding #设置编码格式
    print("状态码:"+ str( response.status_code ) ) #打印状态码
    print(response.text)#输出爬取的信息
    点击并拖拽以移动

    2.常用方法之get方法实例,下面还有传参实例

    # 第二个get方法实例
    import requests #先导入爬虫的库,不然调用不了爬虫的函数
    response = requests.get("http://httpbin.org/get")  #get方法
    print( response.status_code ) #状态码
    print( response.text )
    点击并拖拽以移动

    3. 常用方法之post方法实例,下面还有传参实例

    # 第三个 post方法实例
    import requests #先导入爬虫的库,不然调用不了爬虫的函数
    response = requests.post("http://httpbin.org/post")  #post方法访问
    print( response.status_code ) #状态码
    print( response.text )
    点击并拖拽以移动

    4. put方法实例

    # 第四个 put方法实例
    import requests #先导入爬虫的库,不然调用不了爬虫的函数
    response = requests.put("http://httpbin.org/put")  # put方法访问
    print( response.status_code ) #状态码
    print( response.text )
    点击并拖拽以移动

    5.常用方法之get方法传参实例(1)

    如果需要传多个参数只需要用&符号连接即可如下

    # 第五个 get传参方法实例
    import requests #先导入爬虫的库,不然调用不了爬虫的函数
    response = requests.get("http://httpbin.org/get?name=hezhi&age=20")  # get传参
    print( response.status_code ) #状态码
    print( response.text )
    点击并拖拽以移动

    6.常用方法之get方法传参实例(2)

    params用字典可以传多个

    # 第六个 get传参方法实例
    import requests #先导入爬虫的库,不然调用不了爬虫的函数
    data = {
    "name":"hezhi",
    "age":20
    }
    response = requests.get( "http://httpbin.org/get" , params=data )  # get传参
    print( response.status_code ) #状态码
    print( response.text )
    点击并拖拽以移动

    7.常用方法之post方法传参实例(2) 和上一个有没有很像

    # 第七个 post传参方法实例
    import requests #先导入爬虫的库,不然调用不了爬虫的函数
    data = {
    "name":"hezhi",
    "age":20
    }
    response = requests.post( "http://httpbin.org/post" , params=data )  # post传参
    print( response.status_code ) #状态码
    print( response.text )
    点击并拖拽以移动

    8.关于绕过反爬机制,以zh爸爸为例

    # 第好几个方法实例
    import requests #先导入爬虫的库,不然调用不了爬虫的函数
    response = requests.get( "http://www.zhihu.com")  #第一次访问知乎,不设置头部信息
    print( "第一次,不设头部信息,状态码:"+response.status_code )# 没写headers,不能正常爬取,状态码不是 200
    #下面是可以正常爬取的区别,更改了User-Agent字段
    headers = {
    "User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.122 Safari/537.36"
    }#设置头部信息,伪装浏览器
    response = requests.get( "http://www.zhihu.com" , headers=headers )  #get方法访问,传入headers参数,
    print( response.status_code ) # 200!访问成功的状态码
    print( response.text )
    点击并拖拽以移动

    9.爬取信息并保存到本地,

    因为目录关系,在D盘建立了一个叫做爬虫的文件夹,然后保存信息

    注意文件保存时的encoding设置

    # 爬取一个html并保存
    import requests
    url = "http://www.baidu.com"
    response = requests.get( url )
    response.encoding = "utf-8" #设置接收编码格式
    print("\nr的类型" + str( type(response) ) )
    print("\n状态码是:" + str( response.status_code ) )
    print("\n头部信息:" + str( response.headers ) )
    print( "\n响应内容:" )
    print( response.text )
    #保存文件
    file = open("D:\\爬虫\\baidu.html","w",encoding="utf")  #打开一个文件,w是文件不存在则新建一个文件,这里不用wb是因为不用保存成二进制
    file.write( response.text )
    file.close()
    点击并拖拽以移动

    10.爬取图片,保存到本地

    #保存百度图片到本地
    import requests #先导入爬虫的库,不然调用不了爬虫的函数
    response = requests.get("https://www.baidu.com/img/baidu_jgylogo3.gif")  #get方法的到图片响应
    file = open("D:\\爬虫\\baidu_logo.gif","wb") #打开一个文件,wb表示以二进制格式打开一个文件只用于写入
    file.write(response.content) #写入文件
    file.close()#关闭操作,运行完毕后去你的目录看一眼有没有保存成功

    大量免费学习推荐,敬请访问python教程(视频)

    以上就是python爬虫经典例子有哪些的详细内容,更多请关注php中文网其它相关文章!

    声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理
    专题推荐:python 爬虫
    上一篇:聊聊 Python 的双向队列 下一篇:python经典算法有哪些
    大前端线上培训班

    相关文章推荐

    • python如何示例爬虫代码• python爬虫如何设置代理ip• 爬虫之 JS逆向某验滑动加密(2)• python如何实现网络爬虫

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网