Python第一个爬虫

1.获取整个网页的源码就以下代码:

import urllib.request
url='http://www.baidu.com'
response=urllib.request.urlopen(url)
info=response.read()
print(info.decode())

2.常用到的方法

request.urlopen(url,data,timeout)

(1)第一个参数url即为URL,必须要填写;第二个参数data是访问URL时需要传递的数据,默认为None,第三个参数timeout是设置超时时间,默认为socket_GLOBAL_DEFAULT_TIMEOUT。

(2)第二、三个是可以为空的

response.read()

  read()方法就是读取文件里的全部内容,返回bytes类型

response.getcode()

  返回http的响应码。成功返回200,4为服务器页面出错,5为服务器问题

response.geturl()

  返回实际数据的URL,防止重定向问题

response.info()

  返回服务器响应的HTTP报头

3. request对象

  上面的urlopen参数可以传入一个request请求,它其实就是一个Request类的实列,构造时需要传入URL,Data等内容。比如上面的代码,可以改写成:

from urllib.request import Request
import urllib.request
request=Request('http://www.baidu.com')
response=urllib.request.urlopen(request)
print(response.read().decode())

运行结果完全一样,只是中间多了request对象,推荐这样写,因为在构建请求时还要加入很多内容,通过构建一个request,服务器响应请求得到应答。

4.Get请求

大部分传输到浏览器的html、images、js、css….都是通过GET方式发出请求的,它是获取数据的主要方法。

DET请求的参数都是在URL中体现的如果有中文,需要转码,可以用

Urllib.parse.urlencode()

Urllib.parse.quote()

5.Post请求

Request请求对象里有data参数,它就是用在POST里的,data是一个字典,里面匹配键值对发送请求/响应header头的含义:

名称

含义

Accept

告诉服务器,客户端支持的数据类型

Accept-Charset

告诉服务器,客户端采用的编码

Accept-Encoding

告诉服务器,客户机支持的数据压缩方式

Accept-Language

告诉服务器,客户机的语言环境

Host

客户机告诉服务器访问的主机名

If-Modified-Since

客户机告诉服务器资源缓存时间

Referer

客户机告诉服务器从哪个资源来访问服务器的(用于防盗链)

你可能感兴趣的:(python相关代码,服务器,开发语言,python)