Python入门--13--爬虫一
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--爬虫一的更多相关文章
- python入门13 集合set
set集合与数学中的集合同一个概念,是无序不重复元素组成的. #coding:utf-8 #/usr/bin/python """ 2018-11-10 dinghanh ...
- Python爬虫从入门到进阶(1)之Python概述及爬虫入门
一.Python 概述 1.计算机语言概述 (1).语言:交流的工具,沟通的媒介 (2).计算机语言:人跟计算机交流的工具 (3).Python是计算机语言的一种 2.Python编程语言 代码:人类 ...
- Python基础及爬虫入门
**写在前面**我们在学习任何一门技术的时候,往往都会看很多技术博客,很多程序员也会写自己的技术博客.但是我想写的这些不是纯技术博客,我暂时也没有这个能力写出 Python 或者爬虫相关的技术博客来. ...
- 大爽Python入门教程 1-3 简单的循环与判断
大爽Python入门公开课教案 点击查看教程总目录 这里只初步认识下循环和判断,以便于我们去实现一些简单的计算. 循环和判断的详细知识和细节,我们将在后面的章节(大概是第三章)展开阐述. 1 初步了解 ...
- python 入门教程
转载自:http://www.crifan.com/files/doc/docbook/python_beginner_tutorial/release/html/python_beginner_tu ...
- Python入门:如何使用第三方库?
这是关于Python的第13篇文章,也是关于<编程小白的第1本Python入门书>内容的最后一篇,主要介绍下如何使用第三方库. 1. 第三方库 Python相当于一个手机,第三方库相当于手 ...
- Python 入门之Python简介
Python 入门之Python简介 1.Python简介: (1) Python的出生: python的创始人为吉多·范罗苏姆(Guido van Rossum)(中文名字:龟叔).1989年的 ...
- Python 入门【一】Python 初识及学习资料
Python 初识及学习路线: CodeCademy Python 在线教学: 廖雪峰 Python 2.7 教程: 廖雪峰 Python 3.0 教程: Python 官方文档(2.7~3.7:英文 ...
- 用python写网路爬虫 PDF高清完整版免费下载 Python基础教程免费电子书 python入门书籍免费下载
<用python写网路爬虫PDF免费下载>PDF书籍下载 内容简介 作为一种便捷地收集网上信息并从中抽取出可用信息的方式,网络爬虫技术变得越来越有用.使用Python这样的简单编程语言,你 ...
- 基于股票大数据分析的Python入门实战(视频教学版)的精彩插图汇总
在我写的这本书,<基于股票大数据分析的Python入门实战(视频教学版)>里,用能吸引人的股票案例,带领大家入门Python的语法,数据分析和机器学习. 京东链接是这个:https://i ...
随机推荐
- java 去掉html/style/css等标签
//定义script的正则表达式 private static String regEx_script="<script[^>]*?>[\\s\\S]*?<\\/sc ...
- 学习笔记之30个常用的maven命令
maven 命令的格式为 mvn [plugin-name]:[goal-name],可以接受的参数如下, -D 指定参数,如 -Dmaven.test.skip=true 跳过单元测试: -P 指定 ...
- 洛谷 P2370 P2370 yyy2015c01的U盘
https://www.luogu.org/problemnew/show/P2370 二分+背包 #include <algorithm> #include <iostream&g ...
- (45)zabbix报警媒介:SMS
介绍 服务器安装串口GSM短信猫之后,zabbix可以使用它来发送短信通知给管理员,如下注意事项: 串行设备速度要与GSM猫相匹配(linux下默认为/dev/ttyS0),zabbix无法设置设置串 ...
- python:mysql增量备份
模块:MySQLdb Crypto加密 ConfigParser加载配置 mydb.py #!/usr/bin/env python #coding=utf-8 import MySQLdb as m ...
- laravel模型关联与列表展示
上面这个是一个模型关联的图,其实我们很容易去理解 比如说,一对一,也就是说一个用户对应的是一个手机号. 一对多,比如说一篇文章可以有多条评论 一对多反向:如一篇文章可以有多条评论,但对应每条评论也只针 ...
- Python日志(logging)模块,shelve,sys模块
菜鸟学python第十七天 1.logging 模块 logging模块即日志记录模块 用途:用来记录日志 为什么要记录日志: 为了日后复查,提取有用信息 如何记录文件 直接打开文件,往里写东西 直接 ...
- 对freescale的mfgtool的ucl2.xml的理解
转载于此:http://blog.csdn.net/bugouyonggan/article/details/8664898 对于Freescale MFG编程工具控制文件ucl2.xml的分析 为了 ...
- cs229_part6
part 6 接下来就是无监督学习算法了. k均值聚类 问题背景 样本集描述: \[ x\in D, x\in R^n \] 之前的有监督学习问题中,所有的x都有对应的y.但是如果我们的x没有对应的y ...
- linux 下常见命令
===============安装和登陆命令============================================================= Mount: 挂载命令.把存储介 ...