我的编程空间,编程开发者的网络收藏夹
学习永远不晚

python3 成长之路(1) 动力才是

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

python3 成长之路(1) 动力才是

今天开始学python 目标是编写出一套自己的网络爬虫框架 

要说动力很大众化  废话不多说了 

 

看了很多网上的资料  然而很多东西用的都是python 2.7 很多人还是劝使用python3来做

 

好吧 python3 

 

问题1:网上的爬虫教程很多 但是都是2.7 这里推荐一下

http://cuiqingcai.com/927.html

 

但是所有的教程都是基于2.7的  

所以还是按照3去学

 

问题2:英文不好  看不懂原版

这个真没辙  谁让小时候不好好学习呢

 

废话不多说了 开始第一天的学习

===========================================================================================

今天解决问题如下:

  1. 怎么下载python3

  2. 工具

  3. 到底怎么去学python

  4. urllib包

  5. 写一个get接口方法

 

1.怎么下载python3

下载python3 这个很多人百度一下都OK 但是 懵逼的是那么多连接到底怎么选择?

https://www.python.org/downloads/windows/

这是官网下载 可以看到最新的是3.6版本

点击3.6后 往下拉

本人是win7-64位系统  下载

Windows x86-64 executable installerWindowsfor AMD64/EM64T/x64, not Itanium processors71c9d30c1110abf7f80a428970ab8ec231505640SIG

 

安装的时候 为了避免配置的尴尬,所以在安装的时候 一开始就有咨询是否配置到path  直接勾选 一路next

安装完毕 。运行cmd 输入 python  回车后 >>> 标志  配置成功 (其实啥都没干)

 

 

2.工具

很多时候学语言  都让txt走起,高级点的 editplus啥的  一定要走个编译过程。怎么说呢 哥们用这个方法学python 不下5遍了  最终都败给了懒惰  思来想去 IDE挺好 干嘛不直接用。很多人说 IDE快捷键太多 用多了 最后变成了快捷键 对于新手不好。我承认 你说的对 但是IDE省去了各种繁琐操作,你不用快捷键 一步一步去打代码 不就行了。。。有方便的为什么不去用。

 

IDE的选择  原来想用eclipse的 直接安装插件 但是失败了 失败的原因更令我无语。因为我安装的是python3.6 然而eclipse并不支持 这么新的版本。。果断放弃

 

所以选择IDE是pycharm-professional-2016.3.2 官网直接下载 版本自行选择 

安装后,开始本人的第一个代码之旅

 

3.到底怎么去学python

很多人在学语言的时候 都在想先打基础 基础打好了 一切OK 啥叫基础:输入 输出 判断 循环 数组 oo思想。。。。。。。

好吧 哥们在此之前 对于这种学习方法 100%拥护 但是就是因为基础这东西 学着学着就没了兴趣 才发现自己离目标越来越远 好吧  既然有目的 所以 还是从目的的角度出发学习

 

所以在这里 本人直接pass里基本语言  直接由浅如深的学习爬虫技术

 

4.urllib包

基本上看到网上做爬虫都是使用urllib和urllib2包  好吧 不管怎么样 先用了再说

1)打开pycharm  百度一下怎么下载插件 File-Settings  里面有Project,打开后看到有Project Interpreter  

2)输入urllib和urllib2 我去  好多啊。。。。没办法 谁让不懂呢 全部下载

3)导入包语句 也就是第一句代码   

import urllib,urllib2

好吧  百度的大神们你们赢了 没有报错 往下走

 

5.编写get接口方法
 百度后发现,需要调用requst方法  恩 写吧

 = urllib.request.urlopen(url).read()

报错了  醉了  为啥是方法报错

百度后  发现 在python3中 urllib2和urllib已经2合一了,所以光导这两个包 是不够了 变换一下

urllib.request

data = urllib.request.urlopen("http://www.baidu.com"
).read()

好长  不是oo思想。。。来吧  改动吧

 

urllib.request

url = data = urllib.request.urlopen(url).read()

这样就行了 给大家解释一下:

url就不解释了 主要是存放 接口url地址的

urllib是Python标准库的一部分,包含urllib.request,urllib.error,urllib.parse,urlli.robotparser四个子模块,urlopen函数,用于打开一个URL:

  • info():返回一个对象,表示远程服务器返回的头信息。

  • getcode():返回Http状态码,如果是http请求,200表示请求成功完成;404表示网址未找到。

  • geturl():返回请求的url地址。

      read():返回内容

 

说白了就是将返回内容赋值给url这个变量

额外说一下 python的变量是不用写类型的  人家是自动默认类型

 

那么想在控制台看到 就需要输出语句

(data)

 

OK完事,运行看一下。。。结果这。。。。。。看不懂 居然不是html源码。。。看来是忽略了什么

但是www.baidu.com这几个英文还是看的懂得 但是没有看到 应该出现的百度一下这个按钮

很显然 没有显示中文 百度一下 转码

 

直接复制别人的文字了

 

Python中编码、解码与Unicode的联系

    字符串在Python内部的表示是Unicode编码,因此,在做编码转换时,通常需要以Unicode作为中间编码,即先将其他编码的字符串解码(decode)成Unicode,再从Unicode编码(encode)成另一种编码。

 

Python中encode、decode的使用叙述

首先,encode是unicode转换成str;decode是str转换成unicode。

s.decode('...'):运行都会出错。因为python 3中的str类型对象有点像Python 2中的unicode, 而decode是将str转为unicode编码,所以str仅有一个encode方法,调用这个方法后将产生一个编码后的byte类型的字符。

data拿到的肯定是字符串。so

data.decode('UTF-8') 后 在给data赋值

OK 在运行  完美。。。。。。

 

全部代码如下

urllib.request

url = data = urllib.request.urlopen(url).read()
data = data.decode()(data)

 

好几次了 为了给代码加注释  结果各种报错 所以 我把注释写到最后

第一行  导包

第二行  把URL地址 赋值给url这个变量  当然 你想叫什么都行

第三行  使用urllib.request.urlopen().read()这个方法来读取URL并读取返回内容   最终赋值给data这个变量

第四行 给data这个变量 附加utf-8转码

第五行 最终的输出

 

 

===========================================================

后记  本人才疏学浅  如有高手看到本文中的错误 希望能及时告诉我  

    

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

python3 成长之路(1) 动力才是

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

python3 成长之路(1) 动力才是

今天开始学python 目标是编写出一套自己的网络爬虫框架 要说动力很大众化  废话不多说了  看了很多网上的资料  然而很多东西用的都是python 2.7 很多人还是劝使用python3来做 好吧 python3  问题1:网上的爬虫教
2023-01-31

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录