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 ...
随机推荐
- Python IDE推荐
八个最佳Python IDE 作者:chszs,转载需注明.博客主页:http://blog.csdn.net/chszs Python是一种功能强大.语言简洁的编程语言.本文向大家推荐8个适合pyt ...
- class extension、class category、class-continuation category
class extension Objective-C 2.0增加了class extensions用于解决两个问题: 允许一个对象可以拥有一个私有的interface,且可由编译器验证. 支持一个公 ...
- CS193p Lecture 7 - Views, Gestures
Views 如何绘制自定义图像 Gestures 如何处理用户手势操作 Views 1.它是基本的构造块,代表屏幕上一块矩形区域,定义了一个坐标空间,在此空间中可以绘制,可以添加触控事件: 2.它是分 ...
- ios开发--常用的高效开发的宏
本次在做项目的时候使用了下面的一些宏定义 以及 建立宏定义的一些规则.虽然只用了其中的一点点,但是还是极大的提高了开发效率.. 将这些宏放到一个头文件里然后再放到工程中,在需要使用这些宏定义的地方体检 ...
- Luogu P2123 皇后游戏(贪心)
题目链接:P2123 皇后游戏 如果证明这个题为什么是贪心的话,我是不会的,但是一看这个题目就是一个贪心,然后满足贪心的性质: 都能从两个人(东西)扩展到n个人(东西) 一定能从相邻状态扩展到不相邻的 ...
- PHP操作MySQL事务实例
PHP与MYSQL事务处理 一般来说,事务都应该具备ACID特征.所谓ACID是Atomic(原子性),Consistent(一致性),Isolated(隔离性),Durable(持续性)四个词的首字 ...
- [图文] Fedora 28 使用 Virt-Manager 制作并优化QCOW2镜像——Windows 10 1709
实验说明: 云计算的发展使得桌面上云,windows 10就必不可少,这一章就如何制作QCOW2镜像文件并优化进行说明. 实验环境: 宿主机系统 :Fedora 28 WorkStation 虚拟 ...
- 前端用户体验优化: JS & CSS 各类效果代码段
前言 不定时更新 在线预览 https://zzyper.github.io/opti... 在线预览的源码 https://github.com/zzyper/opt... 部分内容仅兼容webki ...
- LeetCode(114) Flatten Binary Tree to Linked List
题目 分析 按要求转换二叉树: 分析转换要求,发现,新的二叉树是按照原二叉树的先序遍历结果构造的单支二叉树(只有右子树). 发现规则,便容易处理了.得到先序遍历,构造即可. AC代码 /** * De ...
- H.264 Profile-level-id
基于SIP协议的VOIP通信,该字段通常位于视频协商sdp报文中,如: video RTP/AVP rtpmap: H264/ fmtp: profile-level-id=42801E; packe ...