马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 风不会停息 于 2018-9-2 20:25 编辑
1. 爬虫: 爬虫事实上就是一个程序,用于沿着互联网结点爬行,不断访问不同的网站,以便获取它所需要的资源。
2. urllib是python的一个包(关于网页), urllib中有4个模块, 分别为request, error, parse, robotparser, 导入request时, import urllib.request
3. URL 是统一资源定位符(Universal Resource Locator), 表示资源的地址(网站的网址),一般格式为 protocol :// hostname[:port] / path / [;parameters][?query]#fragment
URL由三部分组成:
第一部分是协议:http,https,ftp,file,ed2k…
第二部分是存放资源的服务器的域名系统或IP地址(有时候要包含端口号,各种传输协议都有默认的端口号,如http的默认端口为80)。
第三部分是资源的具体地址,如目录或文件名等。
例如: http://www.baidu.com:80 即为 http://www.baidu.com
4. urllib.request.urlopen(url): 打开一个url的方法,返回一个文件对象,然后可以进行类似文件对象的操作, 例如:>>> import urllib.request
>>> response = urllib.request.urlopen('http://www.baidu.com')
>>> html = response.readline()
>>> html
b'<!DOCTYPE html>\n'
5. urllib.request.urlopen() 返回的是一个HTTPResponse的实例对象,它属于http.client模块。>>> response = urllib.request.urlopen("http://www.fishc.com")
>>> type(response)
<class 'http.client.HTTPResponse'>
6. chardet模块详解: https://fishc.com.cn/thread-66086-1-1.html
chardet.detect(html): 返回一个字典, 其中键'encoding'的值为当前网页使用编码(存在特殊情况,例如:)if encode == 'GB2312':
encode = 'GBK'
7. str.decode(encoding="utf-8", errors="strict"): 返回一个解码后的字符串, errors参数为错误处理方案, 默认为'strict'即编码错误会引发UnicodeError, 当设置为'ignore'时为忽略错误数据并继续, 其他错误处理方案见python官方文档
|