爬虫基础知识(一)
1. URL
URL的格式由三部分组成:
第一部分是协议(或称为服务方式)。
第二部分是存有该资源的主机IP地址(有时也包括端口号)。
第三部分是主机资源的具体地址,如目录和文件名等。
爬虫爬取数据时必须要有一个目标的URL才可以获取数据,因此,它是爬虫获取数据的基本依据,准确理解它的含义对爬虫学习有很大帮助。
关于urllib2包
python 3.X版本是不需要安装urllib2包,urllib和urllib2包集合成在一个包为urllib了.
在python3.x版本中,如何使用:urllib2.urlopen()?
POST和GET数据传送
大多数网站都是动态网页,需要你动态地传递参数给它,它做出对应的响应。所以,在访问时,我们需要传递数据给它。
urlopen一般接受三个参数,它的参数如下:urlopen(url, data, timeout)
第一个参数url即为URL,第二个参数data是访问URL时要传送的数据,第三个timeout是设置超时时间。
第二,三个参数是可以不传送的,data默认为空None,timeout默认为 socket._GLOBAL_DEFAULT_TIMEOUT
POST方式:
|
|
GET方式:
至于GET方式我们可以直接把参数写到网址上面,直接构建一个带参数的URL出来即可。
python3中urllib的模块分4个子模块
urllib.request for opening and reading URLs
urllib.error containing the exceptions raised by urllib.request
urllib.parse for parsing URLs
urllib.robotparser for parsing robots.txt files
python3中urllib报错
爬虫过程报错:http.client.RemoteDisconnected: Remote end closed connection without response
利用 urllib 发起的请求,UA 默认是 Python-urllib/3.5 而在 chrome 中访问则 user_agent = ‘Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36’,因为服务器根据 UA 来判断拒绝了 python 爬虫。
在浏览器中可以查看自己浏览器的UA