环境: 

  火狐浏览器

  pycharm2017.3.3

  python3.5

1.url不仅可以是一个字符串,例如:http://www.baidu.com。url也可以是一个Request对象,这就需要我们先定义一个Request对象,然后将这个Request对象作为URLopen的参数使用,方法如下:

1 from urllib import request
2
3 req = request.Request("http://fanyi.baidu.com/")
4 response = request.urlopen(req)
5 html = response.read()
6 html = html.decode("utf-8")
7 print(html)

这段代码同样可以得到网页信息

  urlopen()返回的对象,可以使用read()进行读取,同样也可以使用geturl(),info()方法,getcode()方法。

    geturl()返回的是一个url的字符串;

    info()返回的是一些meta标记的元信息,包括一些服务器的信息;

    getcode()返回的是HTTP的状态码,如果返回200表示请求成功;

  根据这些,编写如下代码

1 from urllib import request
2 req = request.Request("http://fanyi.baidu.com/")
3 response = request.urlopen(req)
4 print("geturl打印信息:%s" % (response.geturl()))
5 print("-------------------------------------------")
6 print("info打印信息:%s" % (response.info()))
7 print("-------------------------------------------")
8 print("getcode打印信息:%s" % (response.getcode()))

   运行结果

  

2.urlopen的data参数

  我们可以使用data参数,向服务器发送数据

  从客户端向服务器提交数据使用post

  如果没有设置urlopen()函数的data参数,HTTP请求采用get方式也就是从服务器获取数据,如果我们设置data参数,HTTP请求采用post方式,就可以向服务器传送数据

3.发送data实例

  向有道翻译发送data,得到翻译结果

  (1)打开有道翻译界面,如下图所示

        

  (2)右键查看元素,选择网络

      

  (3)在翻译中输入单词mark,点击翻译,可以看到列表出现了新东西,双击方式为post的这行

      

  (4)查看消息头中的请求网址,记录下来,一会要用

    

  (5)点击参数,得到表单数据,记录下来,一会要用

      

  (6)得到以上数据后,写代码如下

        这。。。里有点问题了,好像不能通过抓包爬了,还得使用它的api,研究了一会没整明白,写了这么多,不舍得删了,先撂这,以后再弄,我去找一个抓包可以爬的,再写一篇新的

    

    

转载于:https://www.cnblogs.com/MC-Curry/p/8493847.html

(未完成...)Python3网络爬虫(2):利用urllib.urlopen向有道翻译发送数据并获得翻译结果...相关推荐

  1. Python3网络爬虫教程2——urlopen的返回对象

    Python 全栈工程师核心面试 300 问深入解析(2020 版)----全文预览 Python 全栈工程师核心面试 300 问深入解析(2020 版)----欢迎订阅 上接:Python3网络爬虫 ...

  2. [Python3网络爬虫开发实战] 7-动态渲染页面爬取-4-使用Selenium爬取淘宝商品

    在前一章中,我们已经成功尝试分析Ajax来抓取相关数据,但是并不是所有页面都可以通过分析Ajax来完成抓取.比如,淘宝,它的整个页面数据确实也是通过Ajax获取的,但是这些Ajax接口参数比较复杂,可 ...

  3. 【Python3网络爬虫开发实战】3-基本库的使用 1.2-处理异常

    前一节我们了解了请求的发送过程,但是在网络不好的情况下,如果出现了异常,该怎么办呢?这时如果不处理这些异常,程序很可能因报错而终止运行,所以异常处理还是十分有必要的. urllib的error模块定义 ...

  4. tensorflow精进之路(十八)——python3网络爬虫(中)

    1.概述 上一节简单的介绍了一些python3网络爬虫的知识,这一节就运用上一节的知识写个小demo,用于爬去汽车之家网站的汽车厂商及车型名称. 2.打开待爬取网页 打开汽车之家官网, https:/ ...

  5. Python3网络爬虫

    3.Python3网络爬虫 3.1爬虫分析 爬取目的:爬取虎牙TV下,英雄联盟主播的人气排行. 爬取网页:https://www.huya.com/g/lol 分析网页: (1)如何实现爬取目的:抓取 ...

  6. Python3网络爬虫教程8——有道在线翻译项目(JS加密)

    上接: Python3网络爬虫教程7--SSL数字证书 https://blog.csdn.net/u011318077/article/details/86538116 6. js加密(有道在线翻译 ...

  7. 《Python3网络爬虫开发实战(第二版)》内容介绍

    这是「进击的Coder」的第 505 篇分享 作者:崔庆才 大家好,本节首先来预告下即将出版的<Python3网络爬虫开发实战(第二版)>的主要内容. 由于我已经把书的总体的内容介绍写在了 ...

  8. Python3网络爬虫快速入门实战解析

    Python3网络爬虫快速入门实战解析 标签: python网络爬虫 2017-09-28 14:48 6266人阅读 评论(34) 收藏 举报 分类: Python(26) 作者同类文章X 版权声明 ...

  9. python3网络爬虫开发实战pdf 崔庆才 百度网盘分享

    python3网络爬虫开发实战pdf 崔庆才 百度网盘分享 介绍了如何利用Python 3开发网络爬虫,环境配置和基础知识,然后讨论了urllib.requests.正则表达式.Beautiful S ...

最新文章

  1. Exception in thread main java.lang.OutOfMemoryError: Java heap space
  2. Matlab形态学图像处理:二值图像分割 标记连通区域和重心位置 删除连通区域
  3. linux中Centos7搭建lnmp环境
  4. 怎么定义int_面试官问:MySQL的自增ID用完了,怎么办?!
  5. 【C/C++】运算符优先级记忆
  6. androidManifest
  7. SECS/GEM通信
  8. 零基础学前端系列教程 | 和前端谈恋爱的第002天——约会邀请
  9. 创客匠人用户分组:用户定向运营,不浪费一滴流量
  10. ROS 学习笔记3. launch文件的使用
  11. java 内存 回收_java内存回收
  12. 裴蜀定理、拓展欧几里得及其证明
  13. 求1!+2!+3!......+20!
  14. mysql关系运算选择投影连接_数据库关系代数操作 并 差 积 选择 投影 连接等操作...
  15. 关于QT显示SIGSEGV报错的解决方法
  16. 详解数字美元白皮书:可能和你想的不一样
  17. 只需20分钟,免费搭建你的个人网站!
  18. 子午线收敛角python代码
  19. windows7最大支持多少内存
  20. Redis Cluster [WARNING] Node 127.0.0.1:7003 has slots in migrating state (15495).

热门文章

  1. 打印html5中Canvas的方法
  2. maven初学者常见错误汇总(三)
  3. eclipse删除perspective
  4. ACR2010_MRI骶髂关节炎症与CTX-II变化以及TNF拮抗剂治疗过程中全身炎症改变相关...
  5. Wallop下蛋送邀请。
  6. 【译】五个ES6功能,让你编写代码更容易
  7. 全面异步化:淘宝反应式架构升级探索
  8. 一份非常详尽的 Objective-C 到 Swift 的迁移指南
  9. 网络部分面试之路由协议
  10. maven(3)------maven构建web项目详细步骤