最近买了本《python3网络爬虫开发实战》,之前scrapy爬虫有过研究,但是没有系统的买书研读过,挺感兴趣所以试试
urllib库
urlopen
1 | ''' |
Request
1 | import urllib.request |
error
1 | from urllib import request, error |
urlparse
和urlunparse
/urlsplit
和urlunsplit
1 | from urllib.parse import urlparse |
urljoin
1 | # base_url 包括scheme(http/https) netloc(www.baidu.com) path(/index.html) |
urlencode
和parse_qs
和parse_qsl
1 | # 将字典进行参数转化 |
quote
和unquote
url中的中文参数转化为URL编码、解码
requests库
GET
请求
1 | import requests |
POST
请求
1 | data = {'name': 'germey', 'age': '25'} |
获取cookie
1 | r = requests.get('https://www.baidu.com') |
Session维持
1 | # 下面两个请求不在同一个会话中,请求2无法获得请求1的cookies值 |
SSL证书验证
当出现”您的连接不是私密连接”时,可以采用verify设置为False的方法进行绕开验证
1 | # 关闭错误提示,如果不设置会出现建议指定证书的警告 |
超时设置
1 | # 单位为秒 |
代理设置
1 | # 为了防止单一IP被封,可以使用代理 |
re库
1 | content = 'Hello 1234567 World_This is a Regex Demo' |
httpx库
1 | # 前面的requests库、urllib库都只支持http/1.1 如果遇到http/2.0的网站,则需要使用httpx库 |
multiprocessing库
1 | def main(page): |
JSON库
1 | data = [{ |
CSV库
1 | # 写入 |
asyncio库–协程库
1 | # 协程库 |
aiohttp库–异步请求库
1 | # aiohttp是一个基于asyncio的异步HTTP模块 |