专栏首页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:返回百度首页内容:

    #!/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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • VII Python(7)爬虫

    urllib和urllib2模块(python2.*分urllib和urllib2;python3..4.1中把urllib和urllib2合并统一为一个包pa...

    py3study
  • 显示python库路径

    [root@localhost doc]# python -c “import sys;print sys.path” ['', '/usr/lib/pytho...

    py3study
  • 类视图 中间件和模板

    然后修改settings.py配置文件中修改TEMPLATES配置项的DIRS值, 如下:

    py3study
  • Centos 7从python2.7.5

    py3study
  • CentOS7 安装 Python3.6

    先看编译安装,编译安装后的文件目录基本和Windows平台上目录差不多。指定安装路径的话,所有的文件都是在一起的。 后面有yum的安装的方法。

    py3study
  • velocyto||sc-RNA速率:一种细胞轨迹推断方法

    18年nature发了一篇单细胞方法类文章,讲得就是如何利用RNA velocity来做细胞发育路径的推断。

    生信编程日常
  • 【程序猿硬核科普】为什么固态硬盘删除数据后无法恢复 | 附常用的硬盘数据恢复软件

    本篇文章主要讲机械硬盘删除文件的原理以及SSD固态硬盘删除数据后为何无法恢复,文末附常用的硬盘数据恢复软件。

    浩Coding
  • 干货 | 柱状图、堆叠柱状图、瀑布图有什么区别?怎样用Python绘制?(附代码)

    柱状图是当前应用最广泛的图表之一,你几乎每天都可以在电子产品上看到它。它有哪些分类?可以展示哪些数据关系?怎样用Python绘制?本文带你逐一了解。

    CDA数据分析师
  • 柱状图、堆叠柱状图、瀑布图有什么区别?怎样用Python绘制?(附代码)

    柱状图是当前应用最广泛的图表之一,你几乎每天都可以在电子产品上看到它。它有哪些分类?可以展示哪些数据关系?怎样用Python绘制?本文带你逐一了解。

    数据派THU
  • 柱状图、堆叠柱状图、瀑布图有什么区别?怎样用Python绘制?

    导读:柱状图是当前应用最广泛的图表之一,你几乎每天都可以在电子产品上看到它。它有哪些分类?可以展示哪些数据关系?怎样用Python绘制?本文带你逐一了解。

    华章科技

扫码关注云+社区

领取腾讯云代金券