前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >几行代码抓取百度首页

几行代码抓取百度首页

作者头像
py3study
发布2020-01-14 12:17:30
9000
发布2020-01-14 12:17:30
举报
文章被收录于专栏:python3

python中源码位置(以urllib为例): python中自带的模块:         /usr/lib/python3.5/urllib/request.py(python3)         /usr/lib/python2.7/urllib2.py(python2)     python的第三方模块:  /usr/local/lib/python2.7/site-packages/    注意:关于urllib模块,python3中的导入方法为import urllib.request.方法名

例子1:返回百度首页内容:

代码语言:javascript
复制
    #!/usr/bin/env python
    # coding=utf-8

    import urllib2
    #向指定的URL地址发送请求,并返回服务器响应的类文件对象
    response = urllib2.urlopen("http://www.baidu.com")

    #服务器返回的类文件对象支持python文件对象的操作方法 
    #read()方法就是读取文件里的全部内容,返回字符串
    html = response.read()

    #打印响应内容
    print(html)

    注意:urlopen可以直接请求一个类文件对象,但是它不支持请求头构造(
    在反爬过程中,服务器可能会查看我们的请求头,而默认的请求头很容易被识别
    为爬虫,如python爬虫头部的User-Agent为Python-urllib/%s" % __version__
    可以通过查看urllib2源码或抓包查看.
    

    ),所以生产中的写法如下:
    #!/usr/bin/env python
    # coding=utf-8

    import urllib2

    #User-Agent是爬虫和反爬虫的第一步
    ua_headers = {
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3253.3 Safari/537.36",
    }

    #通过urllib2.Request()方法构造一个请求对象
    request = urllib2.Request("http://www.baidu.com",headers = ua_headers)

    #向指定的URL地址发送请求,并返回服务器响应的类文件对象
    response = urllib2.urlopen(request)

    #服务器返回的类文件对象支持python文件对象的操作方法 
    #read()方法就是读取文件里的全部内容,返回字符串
    html = response.read()

    #打印响应内容
    print(html)

    #打印返回的状态码
    print(response.getcode())

    #打印具体返回页面的是哪个URL
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019/07/03 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档