博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
URL处理----拼接和编码
阅读量:4959 次
发布时间:2019-06-12

本文共 1575 字,大约阅读时间需要 5 分钟。

        ps:浪了好几周,我的锅。。。

        前几天想爬取一个用户网站自动创建每个用户的资料方便注册一些账号,想写一个通用点的爬虫程序爬取只要配置一些爬取规则、爬取深度就ok,避免代码改动,由于时间关系只完成的个半成品,后面在考虑是用xml文件作为配置文件,还是简单的使用.ini文件,后者虽然简单但局限性太大,所以,,,偷几天懒顺便重新考虑下逻辑。

==================================================================================================================================================          

        既然想通用一些,那url的一些处理必不可少,如拼接、中文编码和空格编码等问题,从网上找了下比较琐碎,所以自己简单封装了一个,主要处理了下url拼接和中文编码的问题。

运行环境:python3 、pycharm编辑器

代码如下:

1 # -*- coding: utf-8 -*- 2 # au: cpy 3 # 20181016 4 # url拼接和编码问题 5 import re 6 from urllib.parse import urljoin,quote 7  8  9 def check_zh(word):10     list_zh = re.findall('[\u4e00-\u9fa5]+',word)  # 正则匹配存在的中文11     if list_zh:12         for zh in list_zh:13             word = re.sub(zh,quote(zh),word)14             # print(word)15     return word16 17 18 def checkUrl(domain, url): # domain:域名19     if type(url) is not str and hasattr(url, "decode"):20         url = url.decode()21     if not url.startswith("http"):22         url = urljoin(domain, url)23     url = check_zh(url)24     return url25 26 if __name__ == '__main__':27     domain = "https://www.baidu.com/"28     # postfix_url  = "s?ie=UTF-8&wd=python3判断字符串中是否有中文"29     url  = "s?ie=UTF-8&wd=python3判断字符串中是否有中文"30     print(url)31     print(checkUrl(domain, url))32     '''33     结果:34     s?ie=UTF-8&wd=python3判断字符串中是否有中文35     https://www.baidu.com/s?ie=UTF-8&wd=python3%E5%88%A4%E6%96%AD%E5%AD%97%E7%AC%A6%E4%B8%B2%E4%B8%AD%E6%98%AF%E5%90%A6%E6%9C%89%E4%B8%AD%E6%96%8736     '''

ps: 代码在pycharm编辑器中正常运行,其它方式运行可能会提示存在编码问题

转载于:https://www.cnblogs.com/guyuecanwu/p/9821591.html

你可能感兴趣的文章
四大域总结
查看>>
链表操作
查看>>
Tautology(structure)
查看>>
MySQL:binlog 和 redo log
查看>>
爬新浪
查看>>
Lnmp.org 最稳定方式呈现
查看>>
OpenGL ES着色器语言之语句和结构体(官方文档第六章)内建变量(官方文档第七、八章)...
查看>>
面试题目总结(前端)
查看>>
Makefile学习笔记
查看>>
找出一个整数数组的和最大的连续子数组
查看>>
MyBatis的入门案例
查看>>
我的 nginx 配置
查看>>
[NOI2001]食物链(种类并查集)
查看>>
VMware workstation 与 VMware GSX Server 的区别
查看>>
OOA/OOD/OOP的区别
查看>>
hint指定index的深入理解
查看>>
ASP.NET Excel数据导入数据库---2
查看>>
Instagram的技术架构
查看>>
嘉定三屠与扬州十屠
查看>>
Lua学习笔记9:多文件
查看>>