URL的格式一般为(带方括号的是可选的):

protocol://hostname[:port]/path/[;parameters][?query]#fragment

URL由三部分组成:

  第一部分是协议:http https  ftp  file  ed2k

  第二部分是存放资源的放武器的域名系统或IP地址(有时候要包含端口号)

    各种传输协议都有默认的端口号,http的默认端口号就是80

  第三部分是资源的具体地址,如目录或文件名等

python3.0版本之后就把urllib和urllib2合并了,变为一个urllib包

下面先用urllib.request写个小程序

import urllib.request

wangye = urllib.request.urlopen('http://www.baidu.com')

html=wangye.read()

print (html)

##输出的全是乱码是不是  ,因为他是二进制的格式

import urllib.request

wangye = urllib.request.urlopen('http://www.baidu.com')

html=wangye.read()

html=html.decode('utf-8')

print (html)

##这就转化为你在浏览器的网页里面按F12的效果,是他们的源代码

一、抓取一只猫

import urllib.request

wangye=urllib.request.urlopen('http://placekitten.com/g/500/500')

cat_img = wangye.read()

with open('cat_500_600'+'.jpg','wb') as f:

  f.write(cat_img)

#reques有两种用法 一种是'urlopen'后面加上网址,另外一种是urllib.request.Request加上网址

import urllib.request

pro_wangye=urllib.request.Request('http://placekitten.com/g/500/500')

wangye=urllib.request.open(pro_wangye)

cat_img = wangye.read()

with open('cat_500_600'+'.jpg','wb') as f:

  f.write(cat_img)

所以直接用urlopen就好

二、一些函数
wangye.geturl()  #输出的是http://placekitten.com/g/500/500

print(wangye.info())  #输出一堆网络的属性什么的

wangye.getcode()  #如果输出200说明服务器状态没问题,正常相应

三、在编一个小程序:有道翻译

注意:

1、这个urlopen有个参数data,如果其被赋值,则函数就会post,来取代get

2、data的格式必须是特定的,需要使用:urllib.parse.urlencode()进行一下编码,编译成url的格式

    而且这个urllib.parse是一个模块的 需要载入

四、一些知识点

remote address:服务器ip地址+打开的端口号

request url:打开的地址

status code:服务器的状态,200是正常,404是页面不见了

request header:客户端、浏览器的意思 #一般通过这个里面的users-agent来判断是代码访问还是人的访问

      使用:  1、req=urllib.request.Request(url,data,header)     #提前写好header,这是个字典

    或者使用:2、req=urllib.request.Request(url,data)

           req.add_header('UserAgent','Mozilla/5.0(WindowsNT6.1;WOW64)AppleWebKit/537.36                         (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36')

JSON:这是一种轻量级的数据交换格式,说白了就是这里就是字符串把Python的数据结构封装起来,便于储存和使用

HTTP有好几种方法(GET、POST、PUT、HEAD、DELETE、OPTIONS、CONNECT),请问如何知道python使用的哪一种:

答:使用get_method()方法获取request对象具体使用那种方法访问服务器,当request的Data参数被赋值的时候,get_method()返回的'POST',否则返回'GET'

Python入门--13--爬虫一的更多相关文章

  1. python入门13 集合set

    set集合与数学中的集合同一个概念,是无序不重复元素组成的. #coding:utf-8 #/usr/bin/python """ 2018-11-10 dinghanh ...

  2. Python爬虫从入门到进阶(1)之Python概述及爬虫入门

    一.Python 概述 1.计算机语言概述 (1).语言:交流的工具,沟通的媒介 (2).计算机语言:人跟计算机交流的工具 (3).Python是计算机语言的一种 2.Python编程语言 代码:人类 ...

  3. Python基础及爬虫入门

    **写在前面**我们在学习任何一门技术的时候,往往都会看很多技术博客,很多程序员也会写自己的技术博客.但是我想写的这些不是纯技术博客,我暂时也没有这个能力写出 Python 或者爬虫相关的技术博客来. ...

  4. 大爽Python入门教程 1-3 简单的循环与判断

    大爽Python入门公开课教案 点击查看教程总目录 这里只初步认识下循环和判断,以便于我们去实现一些简单的计算. 循环和判断的详细知识和细节,我们将在后面的章节(大概是第三章)展开阐述. 1 初步了解 ...

  5. python 入门教程

    转载自:http://www.crifan.com/files/doc/docbook/python_beginner_tutorial/release/html/python_beginner_tu ...

  6. Python入门:如何使用第三方库?

    这是关于Python的第13篇文章,也是关于<编程小白的第1本Python入门书>内容的最后一篇,主要介绍下如何使用第三方库. 1. 第三方库 Python相当于一个手机,第三方库相当于手 ...

  7. Python 入门之Python简介

    Python 入门之Python简介 1.Python简介: (1) Python的出生: ​ python的创始人为吉多·范罗苏姆(Guido van Rossum)(中文名字:龟叔).1989年的 ...

  8. Python 入门【一】Python 初识及学习资料

    Python 初识及学习路线: CodeCademy Python 在线教学: 廖雪峰 Python 2.7 教程: 廖雪峰 Python 3.0 教程: Python 官方文档(2.7~3.7:英文 ...

  9. 用python写网路爬虫 PDF高清完整版免费下载 Python基础教程免费电子书 python入门书籍免费下载

    <用python写网路爬虫PDF免费下载>PDF书籍下载 内容简介 作为一种便捷地收集网上信息并从中抽取出可用信息的方式,网络爬虫技术变得越来越有用.使用Python这样的简单编程语言,你 ...

  10. 基于股票大数据分析的Python入门实战(视频教学版)的精彩插图汇总

    在我写的这本书,<基于股票大数据分析的Python入门实战(视频教学版)>里,用能吸引人的股票案例,带领大家入门Python的语法,数据分析和机器学习. 京东链接是这个:https://i ...

随机推荐

  1. WPF知识点全攻略03- XAML

    XAML 是一种声明性标记语言,XAML 是一种基于 XML 并对 XML 结构规则进行了扩展. XAML特点: 定义应用程序的界面元素 显示的声明WPF资源(样式.模板.动画等) 可扩展性(自定义U ...

  2. CAD交互绘制云线批注(网页版)

    js中实现代码说明: 动态拖放时的绘制事件: function DoDynWorldDrawFun(dX,dY,pWorldDraw,pData) { //自定义实体的GUID标识符 var sGui ...

  3. CPP-基础:char、BYTE、byte

    一,C++语言的内建类型中没“BYTE”这么个类型.BYTE是WINDOWS Platform SDK中windef.h里面定义的:typedef unsigned char BYTE; 二,char ...

  4. CeontOS6.5安装php环境

    港湾云主机重装操作系统之后xshell无法连接:重启ssh:# service sshd restart -bash: vim: command not found:输入 rpm -qa|grep v ...

  5. |chromosomal walk |zoo blot|鉴定疾病gene|

    5.6基于外显子的保守性鉴定真核生物编码蛋白质的基因 鉴定功能性基因的流程是:1.连锁分析找到该基因的染色体的特定区域:2.在这段序列中选择一条短序列,寻找满足两个条件的基因(条件一:因为功能性基因是 ...

  6. CVE-2010-3333

    环境 windows xp sp3 office 2003 sp0 windbg ollydbg vmware 12.0 0x00 RTF格式 RTF是Rich TextFormat的缩写,意即富文本 ...

  7. Bootstrap历练实例:按钮组大小

    <!DOCTYPE html><html><head><meta http-equiv="Content-Type" content=&q ...

  8. c++中的结构体:声明 定义 初始化

    什么是结构体? 之前的学习中我们知道了数组是一个容器,而且是存放固定大小数据的容器,而且存放的元素的数据类型必须要一致. 比如数据库中有这样的一条记录学号 性别 年龄 成绩 地址应该怎样存放 结构体: ...

  9. 新浪oAuth授权

    首先要拥有一个微博账号   第一步 成为新浪开发者 1.登录微博开发者界面 open.weibo.com 2. 点击登录 点击移动应用,创建应用   3.需要进行开发者认证,填写个人信息及邮箱认证,等 ...

  10. Luogu P2664 树上游戏 dfs+树上统计

    题目: P2664 树上游戏 分析: 本来是练习点分治的时候看到了这道题.无意中发现题解中有一种方法可以O(N)解决这道题,就去膜拜了一下. 这个方法是,假如对于某一种颜色,将所有这种颜色的点全部删去 ...