python爬虫教程网站Python爬虫教程书籍python爬虫教程 txt
下载地址 https://share.weiyun.com/0UhC6msn
资料目录 30个小时搞定Python网络爬虫视频课程(全套详细版) Python网络爬虫工程师系列培训视频课程(65集全) 廖雪峰商业爬虫(含课件、案例和练习) 零基础Python实战 四周实现爬虫网站 《Python 3网络爬虫开发实战 》崔庆才著.pdf 《Python网络爬虫从入门到实践》 庄培杰编著.pdf Python 3爬虫、数据清洗与可视化实战_零一等编著.pdf Python3网络爬虫数据采集 陶俊杰 翻译.pdf Python爬虫开发与项目实战 范传辉 编著.pdf Python爬虫大数据采集与挖掘-微课视频版 曹剑平 编著.pdf python网络爬虫从入门到实践 唐松等.pdf 网络爬虫-Python和数据分析 王澎著.pdf 用Python写网络爬虫 李斌 翻译.pdf 自己动手写网络爬虫 罗刚等 编著.pdf Python项目案例开发从入门到实战:爬虫、游戏和机器学习 by 郑秋生 夏敏捷 举例 模拟 GET 和 POST 请求 这里用到一个解析 JSON 数据的模块——JSON 模块,它用于 Python 原始类型与 JSON类型的相互转换。如果解析文件,可以用 dump()和 load()方法函数,如果解析字符串,则用下述两个函数: dumps():编码 [Python -> Json] dict => object list, tuple => array str => string True => true int, float, int- & float-derived Enums => number False => false None => null loads():解码 [Json -> Python] object => dict array => list string => str number (int) => int number(real) => float true =>True false => False null => None 模拟 GET 请求的代码示例如下: import urllib.request import json import ssl ssl._create_default_https_context = ssl._create_unverified_context get_url = "http://gank.io/api/data/" + urllib.request.quote("福利") + "/1/1" get_resp = urllib.request.urlopen(get_url) get_result = json.loads(get_resp.read().decode('utf-8')) # 后面的参数用于格式化JSON输出格式 get_result_format = json.dumps(get_result, indent=2, sort_keys=True, ensure_ascii=False) print(get_result_format) 代码执行结果如下: { "error": false, "results": [ { "_id": "5b6bad449d21226f45755582", "createdAt": "2018-08-09T10:56:04.962Z", "desc": "2018-08-09", "publishedAt": "2018-08-09T00:00:00.0Z", "source": "web", "type": "福利", "url": "https://ww1.sinaimg.cn/large/0065oQSqgy1fu39hosiwoj30j60qyq96.jpg", "used": true, "who": "lijinshanmx" } ] } 模拟 POST 请求的代码示例如下: import urllib.request import urllib.parse import json post_url = "http://xxx.xxx.login" phone = "13555555555" password = "111111" values = { 'phone': phone, 'password': password } data = urllib.parse.urlencode(values).encode(encoding='utf-8') req = urllib.request.Request(post_url, data) resp = urllib.request.urlopen(req) result = json.loads(resp.read()) # Byte结果转JSON print(json.dumps(result, sort_keys=True, indent=2, ensure_ascii=False)) # 格式化输出JSON
|