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 ...
随机推荐
- WINDOWS-基础:WINDOWS常用API
1.窗口信息 //MS 为我们提供了打开特定桌面和枚举桌面窗口的函数. hDesk=OpenDesktop(lpszDesktop,,FALSE,DESKTOP_ENUMERATE); //打开我们默 ...
- 用vue 简单写的日历
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- 洛谷 P1663 山
https://www.luogu.org/problemnew/show/P1663 可能在这里看会好一点:[题解]
- CF-1082(渣渣只做了前三个)
链接:http://codeforces.com/contest/1082 A. Vasya and Book 题意: n,x,y,d 一本电子书有n页,每一次翻动只能往前或者往后翻d页.求x-> ...
- python中的decorator的作用
1.概念 装饰器(decorator)就是:定义了一个函数,想在运行时动态增加功能,又不想改动函数本身的代码.可以起到复用代码的功能,避免每个函数重复性编写代码,简言之就是拓展原来函数功能的一种函数. ...
- 计算机完全卸载mysql
编写时间:15:07:02(2018年9月23日) 1.停止mysql服务. “运行”——>“cmd”——>输入“net stop mysql;” 看链接: https://blog.cs ...
- Linux基础学习-使用Squid部署代理缓存服务
使用Squid部署代理缓存服务 Squid是Linux系统中最为流行的一款高性能代理服务软件,通常作为Web网站的前置缓存服务,能够代替用户向网站服务器请求页面数据并进行缓存.Squid服务配置简单. ...
- 气泡小角的css实现
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml" dir="ltr"> ...
- Python contenttypes组件
介绍 Django包含一个contenttypes应用程序(app),可以跟踪Django项目中安装的所有模型(Model),提供用于处理模型的高级通用接口. Contenttypes应用的核心是Co ...
- python--BOM和DOM
一. 介绍 什么是BOM和DOM? 简要答案:BOM是浏览器对象模型,用来获取或设置浏览器的属性.行为,例如:新建窗口.获取屏幕分辨率.浏览器版本号等. DOM是文档对象模型,用来获取或设置文档中标签 ...