<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Python on XieJava's blog</title><link>http://xiejava.ishareread.com/tags/python/</link><description>Recent content in Python on XieJava's blog</description><generator>Hugo</generator><language>zh-CN</language><copyright>XieJava</copyright><lastBuildDate>Sun, 22 Sep 2024 12:17:14 +0000</lastBuildDate><atom:link href="http://xiejava.ishareread.com/tags/python/index.xml" rel="self" type="application/rss+xml"/><item><title>django应用JWT(JsonWebToken)实战</title><link>http://xiejava.ishareread.com/posts/2024-09-22-django%E5%BA%94%E7%94%A8jwtjsonwebtoken%E5%AE%9E%E6%88%98/</link><pubDate>Sun, 22 Sep 2024 12:17:14 +0000</pubDate><guid>http://xiejava.ishareread.com/posts/2024-09-22-django%E5%BA%94%E7%94%A8jwtjsonwebtoken%E5%AE%9E%E6%88%98/</guid><description>&lt;p&gt;在前后端分离的项目中，前后端进行身份验证通常用JWT来进行，JWT 提供了一个理想的认证解决方案，用来保护 RESTful API，确保只有经过认证的用户才能访问受保护的资源。基于前端框架（如React, Angular, Vue.js）的单页面应用 (SPA)，开发者通过使用 JWT可以获得一种简单、安全、高效的方式来处理用户认证和授权的问题。本文通过django项目的实战来说明如何应用和使用JWT。&lt;/p&gt;</description></item><item><title>django实现开发、测试、生产环境配置区分</title><link>http://xiejava.ishareread.com/posts/2024-09-16-django%E5%AE%9E%E7%8E%B0%E5%BC%80%E5%8F%91%E6%B5%8B%E8%AF%95%E7%94%9F%E4%BA%A7%E7%8E%AF%E5%A2%83%E9%85%8D%E7%BD%AE%E5%8C%BA%E5%88%86/</link><pubDate>Mon, 16 Sep 2024 10:55:15 +0000</pubDate><guid>http://xiejava.ishareread.com/posts/2024-09-16-django%E5%AE%9E%E7%8E%B0%E5%BC%80%E5%8F%91%E6%B5%8B%E8%AF%95%E7%94%9F%E4%BA%A7%E7%8E%AF%E5%A2%83%E9%85%8D%E7%BD%AE%E5%8C%BA%E5%88%86/</guid><description>&lt;p&gt;任何实际的软件项目中都要经过开发、测试、然后上生产的阶段，在开发、测试的过程中往往会要频繁的切换开发、测试、生产等不同的环境。每个环境的配置有可能不一样，本文介绍如何实现django项目配置环境变量实现开发、测试、生产灵活便捷的切换。&lt;/p&gt;</description></item><item><title>django+markdown2+pygments实现markdown解析及代码高亮</title><link>http://xiejava.ishareread.com/posts/2024-08-14-django-markdown2-pygments%E5%AE%9E%E7%8E%B0markdown%E8%A7%A3%E6%9E%90%E5%8F%8A%E4%BB%A3%E7%A0%81%E9%AB%98%E4%BA%AE/</link><pubDate>Wed, 14 Aug 2024 18:38:22 +0000</pubDate><guid>http://xiejava.ishareread.com/posts/2024-08-14-django-markdown2-pygments%E5%AE%9E%E7%8E%B0markdown%E8%A7%A3%E6%9E%90%E5%8F%8A%E4%BB%A3%E7%A0%81%E9%AB%98%E4%BA%AE/</guid><description>&lt;p&gt;随着markdown的流行，web应用系统常常会要碰到有使用markdown编辑器进行富文本编辑，然后在前台web页面进行显示。常见的博客系统当然也需要支持markdown的编辑与显示。本文就通过一个真实的博客系统来说明django+markdown2+pygments实现markdown解析及代码高亮。&lt;/p&gt;</description></item><item><title>一个人活成一个团队：python的django项目devops实战</title><link>http://xiejava.ishareread.com/posts/2024-08-11-%E4%B8%80%E4%B8%AA%E4%BA%BA%E6%B4%BB%E6%88%90%E4%B8%80%E4%B8%AA%E5%9B%A2%E9%98%9Fpython%E7%9A%84django%E9%A1%B9%E7%9B%AEdevops%E5%AE%9E%E6%88%98/</link><pubDate>Sun, 11 Aug 2024 16:54:24 +0000</pubDate><guid>http://xiejava.ishareread.com/posts/2024-08-11-%E4%B8%80%E4%B8%AA%E4%BA%BA%E6%B4%BB%E6%88%90%E4%B8%80%E4%B8%AA%E5%9B%A2%E9%98%9Fpython%E7%9A%84django%E9%A1%B9%E7%9B%AEdevops%E5%AE%9E%E6%88%98/</guid><description>&lt;p&gt;对于开发团队来说提高软件交付的速度和质量是一个永恒的话题，对于个人开发者来说同样如此。作为一个码农，一定会有几个自己私有的小项目，从需求管理到开发到测试到部署运维都得要自己来，将自己一个人活成一个团队。&lt;/p&gt;</description></item><item><title>django快速实现个人博客(附源码)</title><link>http://xiejava.ishareread.com/posts/2024-08-10-django%E5%BF%AB%E9%80%9F%E5%AE%9E%E7%8E%B0%E4%B8%AA%E4%BA%BA%E5%8D%9A%E5%AE%A2-%E9%99%84%E6%BA%90%E7%A0%81/</link><pubDate>Sat, 10 Aug 2024 14:18:04 +0000</pubDate><guid>http://xiejava.ishareread.com/posts/2024-08-10-django%E5%BF%AB%E9%80%9F%E5%AE%9E%E7%8E%B0%E4%B8%AA%E4%BA%BA%E5%8D%9A%E5%AE%A2-%E9%99%84%E6%BA%90%E7%A0%81/</guid><description>&lt;p&gt;Django作为一款成熟的Python Web开发框架提供了丰富的内置功能，如ORM（对象关系映射）、Admin管理界面、URL分发、模板系统、表单处理等，使得开发者能够快速搭建Web应用，大幅提高了开发效率。以前写过一篇博文《&lt;a href="https://xiejava.blog.csdn.net/article/details/125939504"&gt;Django+Vue快速实现博客网站&lt;/a&gt;》介绍了通过Djang+Vue快速实现博客网站，django+vue作为个人博客来说稍显复杂，部署起来也比较麻烦，Vue的单页面架构也不利于SEO，更简单的解决方案其实还是用django的模板系统快速构建web应用，对于个人博客来说部署和运维更加简单也利于SEO。下面介绍如何快速的通过django模板系统快速实现个人博客。&lt;/p&gt;</description></item><item><title>django集成pytest进行自动化单元测试实战</title><link>http://xiejava.ishareread.com/posts/2024-08-03-django%E9%9B%86%E6%88%90pytest%E8%BF%9B%E8%A1%8C%E8%87%AA%E5%8A%A8%E5%8C%96%E5%8D%95%E5%85%83%E6%B5%8B%E8%AF%95%E5%AE%9E%E6%88%98/</link><pubDate>Sat, 03 Aug 2024 17:23:11 +0000</pubDate><guid>http://xiejava.ishareread.com/posts/2024-08-03-django%E9%9B%86%E6%88%90pytest%E8%BF%9B%E8%A1%8C%E8%87%AA%E5%8A%A8%E5%8C%96%E5%8D%95%E5%85%83%E6%B5%8B%E8%AF%95%E5%AE%9E%E6%88%98/</guid><description>&lt;p&gt;在Django项目中集成Pytest进行单元测试可以提高测试的灵活性和效率，相比于Django自带的测试框架，Pytest提供了更为丰富和强大的测试功能。本文通过一个实际项目ishareblog介绍django集成pytest进行自动化单元测试实战。&lt;/p&gt;</description></item><item><title>解决django与sqlite3不兼容报SQLite 3.9.0 or later is required (found 3.8.2)错的问题</title><link>http://xiejava.ishareread.com/posts/2024-07-23-%E8%A7%A3%E5%86%B3django%E4%B8%8Esqlite3%E4%B8%8D%E5%85%BC%E5%AE%B9%E6%8A%A5%E9%94%99%E7%9A%84%E9%97%AE%E9%A2%98/</link><pubDate>Tue, 23 Jul 2024 17:23:11 +0000</pubDate><guid>http://xiejava.ishareread.com/posts/2024-07-23-%E8%A7%A3%E5%86%B3django%E4%B8%8Esqlite3%E4%B8%8D%E5%85%BC%E5%AE%B9%E6%8A%A5%E9%94%99%E7%9A%84%E9%97%AE%E9%A2%98/</guid><description>&lt;p&gt;今天在尝试用pytest进行django的单元测试，pytest用的数据库是sqlite3，在window环境下测试得好好的，但是放到linux环境下就报错，具体是报&lt;code&gt;django.core.exceptions.ImproperlyConfigured: SQLite 3.9.0 or later is required (found 3.8.2).&lt;/code&gt;的错。&lt;/p&gt;</description></item><item><title>django.db.utils.operationalerror:\xF0\x9F\x9....报错解决办法</title><link>http://xiejava.ishareread.com/posts/2024-05-30-django.db.utils.operationalerror-xf0-x9f-x9-%E6%8A%A5%E9%94%99%E8%A7%A3%E5%86%B3%E5%8A%9E%E6%B3%95/</link><pubDate>Thu, 30 May 2024 14:21:41 +0000</pubDate><guid>http://xiejava.ishareread.com/posts/2024-05-30-django.db.utils.operationalerror-xf0-x9f-x9-%E6%8A%A5%E9%94%99%E8%A7%A3%E5%86%B3%E5%8A%9E%E6%B3%95/</guid><description>&lt;h2 id="一问题现象"&gt;一、问题现象&lt;/h2&gt;
&lt;p&gt;今天在迁移hexo的.md博客文件到django的博客程序的时候报错了，具体报错信息如下。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;span class="lnt"&gt;4
&lt;/span&gt;&lt;span class="lnt"&gt;5
&lt;/span&gt;&lt;span class="lnt"&gt;6
&lt;/span&gt;&lt;span class="lnt"&gt;7
&lt;/span&gt;&lt;span class="lnt"&gt;8
&lt;/span&gt;&lt;span class="lnt"&gt;9
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;File &lt;span class="s2"&gt;&amp;#34;D:\project\pythonproject\work\ishareblog\venv\lib\site-packages\django\db\backends\mysql\base.py&amp;#34;&lt;/span&gt;, line 75, in execute
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;return&lt;/span&gt; self.cursor.execute&lt;span class="o"&gt;(&lt;/span&gt;query, args&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; File &lt;span class="s2"&gt;&amp;#34;D:\project\pythonproject\work\ishareblog\venv\lib\site-packages\MySQLdb\cursors.py&amp;#34;&lt;/span&gt;, line 206, in execute
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;res&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; self._query&lt;span class="o"&gt;(&lt;/span&gt;query&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; File &lt;span class="s2"&gt;&amp;#34;D:\project\pythonproject\work\ishareblog\venv\lib\site-packages\MySQLdb\cursors.py&amp;#34;&lt;/span&gt;, line 319, in _query
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; db.query&lt;span class="o"&gt;(&lt;/span&gt;q&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; File &lt;span class="s2"&gt;&amp;#34;D:\project\pythonproject\work\ishareblog\venv\lib\site-packages\MySQLdb\connections.py&amp;#34;&lt;/span&gt;, line 254, in query
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; _mysql.connection.query&lt;span class="o"&gt;(&lt;/span&gt;self, query&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;django.db.utils.OperationalError: &lt;span class="o"&gt;(&lt;/span&gt;1366, &lt;span class="s2"&gt;&amp;#34;Incorrect string value: &amp;#39;\\xF0\\x9F\\x98\\x82\\xE5\\x93...&amp;#39; for column &amp;#39;content&amp;#39; at row 1&amp;#34;&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;&lt;img alt="报错现象" loading="lazy" src="http://image2.ishareread.com/images/2024/20240529/1-%E6%8A%A5%E9%94%99%E7%8E%B0%E8%B1%A1.png"&gt;&lt;/p&gt;</description></item><item><title>Python爬虫如何快速入门</title><link>http://xiejava.ishareread.com/posts/2024-03-26-python%E7%88%AC%E8%99%AB%E5%A6%82%E4%BD%95%E5%BF%AB%E9%80%9F%E5%85%A5%E9%97%A8/</link><pubDate>Tue, 26 Mar 2024 10:33:23 +0000</pubDate><guid>http://xiejava.ishareread.com/posts/2024-03-26-python%E7%88%AC%E8%99%AB%E5%A6%82%E4%BD%95%E5%BF%AB%E9%80%9F%E5%85%A5%E9%97%A8/</guid><description>&lt;p&gt;写了几篇网络爬虫的博文后，有网友留言问Python爬虫如何入门？今天就来了解一下什么是爬虫，如何快速的上手Python爬虫。&lt;/p&gt;
&lt;h2 id="一什么是网络爬虫"&gt;一、什么是网络爬虫&lt;/h2&gt;
&lt;p&gt;网络爬虫，英文名称为Web Crawler或Spider，是一种通过程序在互联网上自动获取信息的技术。它根据指定的规则，从互联网上下载网页、图片、视频等内容，并抽取其中的有用信息进行处理。简单来说，网络爬虫可以看作是在互联网上自动“爬行”的程序，它们从某个或某些初始网页开始，读取网页内容，找到其中的链接地址，然后通过这些链接地址寻找下一个网页，这样不断循环，直到按照某种策略抓取完所需的网页为止。&lt;/p&gt;</description></item><item><title>通过jsDelivr实现Github图床CDN加速</title><link>http://xiejava.ishareread.com/posts/2024-03-20-%E9%80%9A%E8%BF%87jsdelivr%E5%AE%9E%E7%8E%B0github%E5%9B%BE%E5%BA%8Acdn%E5%8A%A0%E9%80%9F/</link><pubDate>Wed, 20 Mar 2024 17:02:16 +0000</pubDate><guid>http://xiejava.ishareread.com/posts/2024-03-20-%E9%80%9A%E8%BF%87jsdelivr%E5%AE%9E%E7%8E%B0github%E5%9B%BE%E5%BA%8Acdn%E5%8A%A0%E9%80%9F/</guid><description>&lt;p&gt;最近小伙伴们是否发现访问我的个人博客&lt;a href="http://xiejava.ishareread.com/"&gt;http://xiejava.ishareread.com/&lt;/a&gt;图片显示特别快了？
我的博客的图片是放在github上的，众所周知的原因，github访问不是很快，尤其是hexo博客用github做图床经常图片刷不出来。一直想换图床，直到找到了jsDelivr，通过jsDelivr实现Github的图床CDN加速后果然速度快了很多。
jsdelivr是一个免费的公共CDN（内容分发网络）服务，它允许网站开发者将他们的代码库、JavaScript库、字体和其他资源托管在jsdelivr上，并通过jsdelivr的CDN网络进行快速分发。使用jsdelivr可以有效地减少用户下载资源的时间，提高网页加载速度，同时减轻原始服务器的负载。
jsdelivr支持多种类型的文件托管，包括JavaScript、CSS、字体、图片等。开发者可以将自己的文件上传到jsdelivr，并获取一个指向这些文件的URL。然后，他们可以在自己的网站中引用这些URL，jsdelivr会自动处理文件的缓存、分发和版本控制。
jsdelivr的优点包括：&lt;/p&gt;</description></item><item><title>Python爬取淘宝商品评价信息实战</title><link>http://xiejava.ishareread.com/posts/2024-03-16-python%E7%88%AC%E5%8F%96%E6%B7%98%E5%AE%9D%E5%95%86%E5%93%81%E8%AF%84%E4%BB%B7%E4%BF%A1%E6%81%AF%E5%AE%9E%E6%88%98/</link><pubDate>Sat, 16 Mar 2024 19:05:58 +0000</pubDate><guid>http://xiejava.ishareread.com/posts/2024-03-16-python%E7%88%AC%E5%8F%96%E6%B7%98%E5%AE%9D%E5%95%86%E5%93%81%E8%AF%84%E4%BB%B7%E4%BF%A1%E6%81%AF%E5%AE%9E%E6%88%98/</guid><description>&lt;p&gt;&lt;img alt="Python爬虫" loading="lazy" src="http://image2.ishareread.com/images/2024/20240316/0-python%E7%88%AC%E8%99%AB.png"&gt;&lt;/p&gt;
&lt;p&gt;前期出了一个《&lt;a href="http://xiejava.ishareread.com/posts/db2fbb43/"&gt;爬取京东商品评价信息实战&lt;/a&gt;》的教程，最近又有网友提到要出一个爬淘宝商品评论的教程。说实话淘宝的反爬机制做得比京东要严，所以用爬取京东商品评价信息的方式取爬取淘宝商品评价不太可行。本文还是介绍通过Selenium模拟登录后来进行淘宝商品评价信息的爬取。
Selenium安装与配置及如何模拟登录淘宝见《&lt;a href="http://xiejava.ishareread.com/posts/699b1506/"&gt;Selenium安装与配置&lt;/a&gt;》及《&lt;a href="http://xiejava.ishareread.com/posts/6e762a1a/"&gt;Selenium实战-模拟登录淘宝并爬取商品信息&lt;/a&gt;》&lt;/p&gt;
&lt;h2 id="一分析需要爬取的页面"&gt;一、分析需要爬取的页面&lt;/h2&gt;
&lt;p&gt;淘宝的商品评价信息在商品详情页面，需要登录淘宝后，访问到商品详情页，并且需要点击“宝贝评价”才能看到相应的商品评价信息。
&lt;img alt="淘宝商品评价页面分析" loading="lazy" src="http://image2.ishareread.com/images/2024/20240316/1-%E6%B7%98%E5%AE%9D%E5%95%86%E5%93%81%E8%AF%84%E4%BB%B7%E9%A1%B5%E9%9D%A2%E5%88%86%E6%9E%90.png"&gt;&lt;/p&gt;</description></item><item><title>Python爬取京东商品评价信息实战</title><link>http://xiejava.ishareread.com/posts/2024-03-11-python%E7%88%AC%E5%8F%96%E4%BA%AC%E4%B8%9C%E5%95%86%E5%93%81%E8%AF%84%E4%BB%B7%E4%BF%A1%E6%81%AF%E5%AE%9E%E6%88%98/</link><pubDate>Mon, 11 Mar 2024 15:44:10 +0000</pubDate><guid>http://xiejava.ishareread.com/posts/2024-03-11-python%E7%88%AC%E5%8F%96%E4%BA%AC%E4%B8%9C%E5%95%86%E5%93%81%E8%AF%84%E4%BB%B7%E4%BF%A1%E6%81%AF%E5%AE%9E%E6%88%98/</guid><description>&lt;p&gt;&lt;img alt="网络爬虫" loading="lazy" src="http://image2.ishareread.com/images/2024/20240311/0%E3%80%81%E7%BD%91%E7%BB%9C%E7%88%AC%E8%99%AB.png"&gt;&lt;/p&gt;
&lt;p&gt;上期介绍了通过《&lt;a href="http://xiejava.ishareread.com/posts/81e07ee2/"&gt;mitmproxy实战-通过mitmdump爬取京东金榜数据&lt;/a&gt;》，能够上京东金榜的商品一般评价都是比较好的，这次介绍如何爬取京东商品的评价信息。&lt;/p&gt;
&lt;h2 id="一分析商品评价的页面信息"&gt;一、分析商品评价的页面信息&lt;/h2&gt;
&lt;h3 id="1请求参数分析"&gt;1、请求参数分析&lt;/h3&gt;
&lt;p&gt;京东的商品评价信息是在商品的详情页面，我们随便访问一个京东的商品详情页面如&lt;a href="https://item.jd.com/100087971268.html"&gt;https://item.jd.com/100087971268.html&lt;/a&gt;
在这里可以看到100087971268就是商品ID也是商品的skuId，这个是商品的唯一ID可以和很过信息关联。我们可以通过chrome浏览器的调试模式来分析商品评价信息的数据是如何获取和展示的。
通过chrome浏览器的调试模式可以看到，评价信息是通过&lt;code&gt;https://api.m.jd.com/?appid=item-v3&amp;amp;functionId=pc_club_productPageComments&amp;amp;client=pc&amp;amp;clientVersion=1.0.0&amp;amp;t=1710122207175&amp;amp;loginType=3&amp;amp;uuid=181111935.16953916127351737253418.1695391613.1709713566.1710121957.56&amp;amp;productId=100087971268&amp;amp;score=0&amp;amp;sortType=5&amp;amp;page=0&amp;amp;pageSize=10&amp;amp;isShadowSku=0&amp;amp;fold=1&amp;amp;bbtf=&amp;amp;shield=&lt;/code&gt;
这个接口来返回的，其中关键的信息包括functionId=pc_club_productPageComments，productId=100087971268，page=0&amp;amp;pageSize=10。
&lt;code&gt;productId=100087971268&lt;/code&gt;表示是获取商品ID为100087971268的商品评价，&lt;code&gt;page=0&amp;amp;pageSize=10&lt;/code&gt;表示当前页是0，每页显示10条记录。&lt;/p&gt;</description></item><item><title>mitmproxy实战-通过mitmdump爬取京东金榜排行数据</title><link>http://xiejava.ishareread.com/posts/2024-02-29-mitmproxy%E5%AE%9E%E6%88%98-%E9%80%9A%E8%BF%87mitmdump%E7%88%AC%E5%8F%96%E4%BA%AC%E4%B8%9C%E9%87%91%E6%A6%9C%E6%8E%92%E8%A1%8C%E6%95%B0%E6%8D%AE/</link><pubDate>Mon, 04 Mar 2024 14:09:45 +0000</pubDate><guid>http://xiejava.ishareread.com/posts/2024-02-29-mitmproxy%E5%AE%9E%E6%88%98-%E9%80%9A%E8%BF%87mitmdump%E7%88%AC%E5%8F%96%E4%BA%AC%E4%B8%9C%E9%87%91%E6%A6%9C%E6%8E%92%E8%A1%8C%E6%95%B0%E6%8D%AE/</guid><description>&lt;p&gt;&lt;img alt="mitmproxy" loading="lazy" src="http://image2.ishareread.com/images/2024/20240304/0-mitmproxy.jpg"&gt;&lt;/p&gt;
&lt;p&gt;对于APP的数据爬取或需要构建复杂的接口参数数据的爬取可以通过mitmproxy抓包还原流量，解析流量数据包来获取。mitmproxy是一个免费的开源交互式的HTTPS代理工具。它类似于其他抓包工具如WireShark和Fiddler，支持抓取HTTP和HTTPS协议的数据包，并可以通过控制台形式进行操作。mitmproxy具有两个非常有用的组件：mitmdump和mitmweb。mitmdump是mitmproxy的命令行接口，可以直接抓取请求数据。&lt;/p&gt;</description></item><item><title>mitmproxy安装与配置</title><link>http://xiejava.ishareread.com/posts/2024-02-29-mitmproxy%E5%AE%89%E8%A3%85%E4%B8%8E%E9%85%8D%E7%BD%AE/</link><pubDate>Thu, 29 Feb 2024 18:33:41 +0000</pubDate><guid>http://xiejava.ishareread.com/posts/2024-02-29-mitmproxy%E5%AE%89%E8%A3%85%E4%B8%8E%E9%85%8D%E7%BD%AE/</guid><description>&lt;p&gt;mitmproxy是一个免费的开源交互式的HTTPS代理工具。它类似于其他抓包工具如WireShark和Fiddler，支持抓取HTTP和HTTPS协议的数据包，并可以通过控制台形式进行操作。mitmproxy具有两个非常有用的组件：mitmdump和mitmweb。mitmdump是mitmproxy的命令行接口，可以直接抓取请求数据，而mitmweb是一个web程序，可以清楚地观察mitmproxy抓取的请求数据。&lt;/p&gt;</description></item><item><title>Selenium实战-模拟登录淘宝并爬取商品信息</title><link>http://xiejava.ishareread.com/posts/2024-02-26-selenium%E5%AE%9E%E6%88%98-%E6%A8%A1%E6%8B%9F%E7%99%BB%E5%BD%95%E6%B7%98%E5%AE%9D%E5%B9%B6%E7%88%AC%E5%8F%96%E5%95%86%E5%93%81%E4%BF%A1%E6%81%AF/</link><pubDate>Mon, 26 Feb 2024 14:07:55 +0000</pubDate><guid>http://xiejava.ishareread.com/posts/2024-02-26-selenium%E5%AE%9E%E6%88%98-%E6%A8%A1%E6%8B%9F%E7%99%BB%E5%BD%95%E6%B7%98%E5%AE%9D%E5%B9%B6%E7%88%AC%E5%8F%96%E5%95%86%E5%93%81%E4%BF%A1%E6%81%AF/</guid><description>&lt;p&gt;现在很多网站要获取数据都得要先登录。Selenium是一个用于Web应用程序测试的自动化工具。它直接运行在浏览器中，模拟真实用户的操作。本文介绍如何通过Selenium来登录淘宝并自动爬取商品信息。
关于Selenium的安装与配置请参考博文《&lt;a href="http://xiejava.ishareread.com/posts/8370b2b6/"&gt;Selenium安装与配置&lt;/a&gt;》&lt;/p&gt;</description></item><item><title>Selenium安装与配置</title><link>http://xiejava.ishareread.com/posts/2024-02-23-selenium%E5%AE%89%E8%A3%85%E4%B8%8E%E9%85%8D%E7%BD%AE/</link><pubDate>Fri, 23 Feb 2024 11:14:44 +0000</pubDate><guid>http://xiejava.ishareread.com/posts/2024-02-23-selenium%E5%AE%89%E8%A3%85%E4%B8%8E%E9%85%8D%E7%BD%AE/</guid><description>&lt;p&gt;Selenium是一个用于Web应用程序测试的自动化工具。它直接运行在浏览器中，模拟真实用户的操作。Selenium支持多种主流浏览器，如IE、Mozilla Firefox、Safari、Google Chrome、Opera和Edge等。在爬取数据的时候对于需要登录后才能爬取的情况往往可以利用Selenium来进行模拟登录，登录后进行数据的获取。这里先介绍Selenium的安装与配置，实现通过python来驱动浏览器进行操作。&lt;/p&gt;</description></item><item><title>Python实现avif图片转jpg格式并识别图片中的文字</title><link>http://xiejava.ishareread.com/posts/2024-01-31-python%E5%AE%9E%E7%8E%B0avif%E5%9B%BE%E7%89%87%E8%BD%ACjpg%E6%A0%BC%E5%BC%8F%E5%B9%B6%E8%AF%86%E5%88%AB%E5%9B%BE%E7%89%87%E4%B8%AD%E7%9A%84%E6%96%87%E5%AD%97/</link><pubDate>Wed, 31 Jan 2024 21:09:23 +0000</pubDate><guid>http://xiejava.ishareread.com/posts/2024-01-31-python%E5%AE%9E%E7%8E%B0avif%E5%9B%BE%E7%89%87%E8%BD%ACjpg%E6%A0%BC%E5%BC%8F%E5%B9%B6%E8%AF%86%E5%88%AB%E5%9B%BE%E7%89%87%E4%B8%AD%E7%9A%84%E6%96%87%E5%AD%97/</guid><description>&lt;p&gt;在做数据分析的时候有些数据是从图片上去获取的，这就需要去识别图片上的文字。Python有很多库可以很方便的实现OCR识别图片中的文字。这里介绍用EasyOCR库进行图片文字识别。easyocr是一个比较流行的库，支持超过80种语言，识别率高，速度也比较快。&lt;/p&gt;</description></item><item><title>pandas将dataframe列中的list转换为多列</title><link>http://xiejava.ishareread.com/posts/2023-12-26-pandas%E5%B0%86dataframe%E5%88%97%E4%B8%AD%E7%9A%84list%E8%BD%AC%E6%8D%A2%E4%B8%BA%E5%A4%9A%E5%88%97/</link><pubDate>Tue, 26 Dec 2023 17:06:29 +0000</pubDate><guid>http://xiejava.ishareread.com/posts/2023-12-26-pandas%E5%B0%86dataframe%E5%88%97%E4%B8%AD%E7%9A%84list%E8%BD%AC%E6%8D%A2%E4%B8%BA%E5%A4%9A%E5%88%97/</guid><description>&lt;p&gt;在应用机器学习的过程中，很大一部分工作都是在做数据的处理，一个非常常见的场景就是将一个list序列的特征数据拆成多个单独的特征数据。&lt;/p&gt;
&lt;p&gt;比如数据集如下所示：&lt;/p&gt;</description></item><item><title>pandas对波形异常数据处理实战</title><link>http://xiejava.ishareread.com/posts/2023-12-18-pandas%E5%AF%B9%E6%B3%A2%E5%BD%A2%E5%BC%82%E5%B8%B8%E6%95%B0%E6%8D%AE%E5%A4%84%E7%90%86%E5%AE%9E%E6%88%98/</link><pubDate>Mon, 18 Dec 2023 12:06:42 +0000</pubDate><guid>http://xiejava.ishareread.com/posts/2023-12-18-pandas%E5%AF%B9%E6%B3%A2%E5%BD%A2%E5%BC%82%E5%B8%B8%E6%95%B0%E6%8D%AE%E5%A4%84%E7%90%86%E5%AE%9E%E6%88%98/</guid><description>&lt;p&gt;做数据分析很大一部分工作量都是在对数据处理，因为数据来源的质量问题，不能保证所有的数据都是正常的。对于数据分析和处理来说pandas无疑是常用的利器。下面通过一个实例来用pandas对波形异常数据进行实战处理。&lt;/p&gt;</description></item><item><title>Python将列表中的数据写入csv并正确解析出来</title><link>http://xiejava.ishareread.com/posts/2023-12-16-python%E5%B0%86%E5%88%97%E8%A1%A8%E4%B8%AD%E7%9A%84%E6%95%B0%E6%8D%AE%E5%86%99%E5%85%A5csv%E5%B9%B6%E6%AD%A3%E7%A1%AE%E8%A7%A3%E6%9E%90%E5%87%BA%E6%9D%A5/</link><pubDate>Sat, 16 Dec 2023 21:18:15 +0000</pubDate><guid>http://xiejava.ishareread.com/posts/2023-12-16-python%E5%B0%86%E5%88%97%E8%A1%A8%E4%B8%AD%E7%9A%84%E6%95%B0%E6%8D%AE%E5%86%99%E5%85%A5csv%E5%B9%B6%E6%AD%A3%E7%A1%AE%E8%A7%A3%E6%9E%90%E5%87%BA%E6%9D%A5/</guid><description>&lt;p&gt;用Python做数据处理常常会将数据写到文件中进行保存，又或将保存在文件中的数据读出来进行使用。通过Python将列表中的数据写入到csv文件中很多人都会，可以通过Python直接写文件或借助pandas很方便的实现将列表中的数据写入到csv文件中，但是写进去以后取出有些字段会有变化有些坑还是要避免。本文通过实例来介绍如何将列表中的数据写入文件如csv并正确解析出来使用。&lt;/p&gt;</description></item><item><title>Python与正则表达式</title><link>http://xiejava.ishareread.com/posts/2023-10-06-python%E4%B8%8E%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F/</link><pubDate>Fri, 06 Oct 2023 19:44:35 +0000</pubDate><guid>http://xiejava.ishareread.com/posts/2023-10-06-python%E4%B8%8E%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F/</guid><description>&lt;p&gt;我们在做机器学习项目的时候，很大部分的精力都在做数据的整理，不管是用爬虫在网上爬取数据还是对已有的数据进行整理，往往需要对一些特定的字符串进行处理，正则表达式则是进行数据处理的利器。&lt;/p&gt;</description></item><item><title>Scrapy爬虫框架实战</title><link>http://xiejava.ishareread.com/posts/2023-09-12-scrapy%E7%88%AC%E8%99%AB%E6%A1%86%E6%9E%B6%E5%AE%9E%E6%88%98/</link><pubDate>Tue, 12 Sep 2023 23:00:02 +0000</pubDate><guid>http://xiejava.ishareread.com/posts/2023-09-12-scrapy%E7%88%AC%E8%99%AB%E6%A1%86%E6%9E%B6%E5%AE%9E%E6%88%98/</guid><description>&lt;p&gt;Python实现爬虫是很容易的，一般来说就是获取目标网站的页面，对目标页面的分析、解析、识别，提取有用的信息，然后该入库的入库，该下载的下载。以前写过一篇文章&lt;a href="http://xiejava.ishareread.com/posts/eab21fe5/"&gt;《Python爬虫获取电子书资源实战》&lt;/a&gt;，以一个电子书的网站为例来实现python爬虫获取电子书资源。爬取整站的电子书资源，按目录保存到本地，并形成索引文件方便查找。这次介绍通过Scrapy爬虫框架来实现同样的功能。&lt;/p&gt;</description></item><item><title>Python进行数据相关性分析实战</title><link>http://xiejava.ishareread.com/posts/2023-08-31-python%E8%BF%9B%E8%A1%8C%E6%95%B0%E6%8D%AE%E7%9B%B8%E5%85%B3%E6%80%A7%E5%88%86%E6%9E%90%E5%AE%9E%E6%88%98/</link><pubDate>Thu, 31 Aug 2023 18:10:01 +0000</pubDate><guid>http://xiejava.ishareread.com/posts/2023-08-31-python%E8%BF%9B%E8%A1%8C%E6%95%B0%E6%8D%AE%E7%9B%B8%E5%85%B3%E6%80%A7%E5%88%86%E6%9E%90%E5%AE%9E%E6%88%98/</guid><description>&lt;p&gt;平时在做数据分析的时候，会要对特征进行相关性分析，分析某些特征之间是否存在相关性。本文将通过一个实例来对数据进行相关性分析与展示。&lt;/p&gt;
&lt;h2 id="一数据集介绍"&gt;一、数据集介绍&lt;/h2&gt;
&lt;p&gt;本次分析的是企业合作研发模式效果分析，企业的合作研发大致分为 企企合作、企学合作、企研合作、企学研合作，也就是企业与企业合作研发、企业与大学合作研发、企业与研究所合作研法、企业联合学校、研究所共同合作研发。现在就是想通过数据分析来看看那种合作研发模式的效果最好，产出最佳。&lt;/p&gt;</description></item><item><title>Python通过matplotlib动态绘图实现中美GDP历年对比趋势动图</title><link>http://xiejava.ishareread.com/posts/2023-08-27-python%E9%80%9A%E8%BF%87matplotlib%E5%8A%A8%E6%80%81%E7%BB%98%E5%9B%BE%E5%AE%9E%E7%8E%B0%E4%B8%AD%E7%BE%8Egdp%E5%8E%86%E5%B9%B4%E5%AF%B9%E6%AF%94%E8%B6%8B%E5%8A%BF%E5%8A%A8%E5%9B%BE/</link><pubDate>Sun, 27 Aug 2023 11:46:35 +0000</pubDate><guid>http://xiejava.ishareread.com/posts/2023-08-27-python%E9%80%9A%E8%BF%87matplotlib%E5%8A%A8%E6%80%81%E7%BB%98%E5%9B%BE%E5%AE%9E%E7%8E%B0%E4%B8%AD%E7%BE%8Egdp%E5%8E%86%E5%B9%B4%E5%AF%B9%E6%AF%94%E8%B6%8B%E5%8A%BF%E5%8A%A8%E5%9B%BE/</guid><description>&lt;p&gt;随着中国的各种实力的提高，经常在各种媒体上看到中国与各个国家历年的各种指标数据的对比，为了更清楚的展示历年的发展趋势，有的还做成了动图，看到中国各种指标数据的近年的不断逆袭，心中的自豪感油然而生。今天通过Python来实现matplotlib的动态绘图，将中美两国近年的GDP做个对比，展示中国GPD对美国的追赶态势，相信不久的将来中国的GDP数据将稳超美国。&lt;/p&gt;</description></item><item><title>Python三行代码实现json转Excel</title><link>http://xiejava.ishareread.com/posts/2023-08-18-python%E4%B8%89%E8%A1%8C%E4%BB%A3%E7%A0%81%E5%AE%9E%E7%8E%B0json%E8%BD%ACexcel/</link><pubDate>Fri, 18 Aug 2023 14:33:33 +0000</pubDate><guid>http://xiejava.ishareread.com/posts/2023-08-18-python%E4%B8%89%E8%A1%8C%E4%BB%A3%E7%A0%81%E5%AE%9E%E7%8E%B0json%E8%BD%ACexcel/</guid><description>&lt;p&gt;最近重保，经常需要通过Excel上报威胁事件。安全设备的告警很多都是json格式的，就需要将json转成Excel。
用Python将json转成excel也就三行代码的事，先将json串导入形成字典对象，再通过pandas转成DataFrame直接输出excel。
实现如下：&lt;/p&gt;</description></item><item><title>Python日志logging实战教程</title><link>http://xiejava.ishareread.com/posts/2023-03-19-python%E6%97%A5%E5%BF%97logging%E5%AE%9E%E6%88%98%E6%95%99%E7%A8%8B/</link><pubDate>Sun, 19 Mar 2023 14:21:31 +0000</pubDate><guid>http://xiejava.ishareread.com/posts/2023-03-19-python%E6%97%A5%E5%BF%97logging%E5%AE%9E%E6%88%98%E6%95%99%E7%A8%8B/</guid><description>&lt;h2 id="一什么是日志"&gt;一、什么是日志&lt;/h2&gt;
&lt;p&gt;在&lt;a href="http://xiejava.ishareread.com/posts/6a8b36cb/"&gt;《网络安全之认识日志采集分析审计系统》&lt;/a&gt;中我们认识了日志。日志数据的核心就是日志消息或日志，日志消息是计算机系统、设备、软件等在某种刺激下反应生成的东西。&lt;/p&gt;
&lt;p&gt;日志数据（log data）就是一条日志消息的内在含义，用来告诉你为什么生成日志消息的信息。日志（log）指用于展示某些事件全貌的日志消息的集合。&lt;/p&gt;</description></item><item><title>Python实现简单信号滤波实战</title><link>http://xiejava.ishareread.com/posts/2023-03-13-python%E5%AE%9E%E7%8E%B0%E7%AE%80%E5%8D%95%E4%BF%A1%E5%8F%B7%E6%BB%A4%E6%B3%A2%E5%AE%9E%E6%88%98/</link><pubDate>Mon, 13 Mar 2023 15:19:26 +0000</pubDate><guid>http://xiejava.ishareread.com/posts/2023-03-13-python%E5%AE%9E%E7%8E%B0%E7%AE%80%E5%8D%95%E4%BF%A1%E5%8F%B7%E6%BB%A4%E6%B3%A2%E5%AE%9E%E6%88%98/</guid><description>&lt;p&gt;在有些项目中需要对信号进行滤波处理，尤其是在医疗的设备中如心跳、脉搏等设备的采样后进行处理。滤波的目的就是除去某些频率的信号如噪声。常见的包括有低通滤波、高通滤波、带通滤波。&lt;/p&gt;</description></item><item><title>AI机器学习时序序列特征提取实现分类预测实战</title><link>http://xiejava.ishareread.com/posts/2023-01-06-ai%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E6%97%B6%E5%BA%8F%E5%BA%8F%E5%88%97%E7%89%B9%E5%BE%81%E6%8F%90%E5%8F%96%E5%AE%9E%E7%8E%B0%E5%88%86%E7%B1%BB%E9%A2%84%E6%B5%8B%E5%AE%9E%E6%88%98/</link><pubDate>Fri, 06 Jan 2023 21:02:35 +0000</pubDate><guid>http://xiejava.ishareread.com/posts/2023-01-06-ai%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E6%97%B6%E5%BA%8F%E5%BA%8F%E5%88%97%E7%89%B9%E5%BE%81%E6%8F%90%E5%8F%96%E5%AE%9E%E7%8E%B0%E5%88%86%E7%B1%BB%E9%A2%84%E6%B5%8B%E5%AE%9E%E6%88%98/</guid><description>&lt;p&gt;最近有位做医疗项目的同学咨询有一批人员的身高、体重、性别、年龄、心电图、是否有心脏病等数据是否可以根据这些数据预测某个人是否有心脏病的迹象。这当然是可以的，AI机器学习不就是干这事的吗？这是一个典型的分类算法。根据这些人体特征来判断是否存在潜在的疾病。问题是如何对心电图进行特征提取，提取出相关的特征，让模型进行学习和训练。&lt;/p&gt;</description></item><item><title>Django+Celery+Flower实现异步和定时任务及其监控告警</title><link>http://xiejava.ishareread.com/posts/2023-01-06-django-celery-flower%E5%AE%9E%E7%8E%B0%E5%BC%82%E6%AD%A5%E5%92%8C%E5%AE%9A%E6%97%B6%E4%BB%BB%E5%8A%A1%E5%8F%8A%E5%85%B6%E7%9B%91%E6%8E%A7%E5%91%8A%E8%AD%A6/</link><pubDate>Fri, 06 Jan 2023 21:00:15 +0000</pubDate><guid>http://xiejava.ishareread.com/posts/2023-01-06-django-celery-flower%E5%AE%9E%E7%8E%B0%E5%BC%82%E6%AD%A5%E5%92%8C%E5%AE%9A%E6%97%B6%E4%BB%BB%E5%8A%A1%E5%8F%8A%E5%85%B6%E7%9B%91%E6%8E%A7%E5%91%8A%E8%AD%A6/</guid><description>&lt;p&gt;用Django框架进行web开发非常的快捷方便，但Django框架请求/响应是同步的。但我们在实际项目中经常会碰到一些耗时的不能立即返回请求结果任务如：数据爬取、发邮件等，如果常时间等待对用户体验不是很好，在这种情况下就需要实现异步实现，马上返回响应请求，但真正的耗时任务在后台异步执行。Django框架本身无法实现异步响应但可以通过Celery很快的实现异步和定时任务。本文将介绍如何通过Django+Celery+Flower实现异步和定时任务及其任务的监控告警。&lt;/p&gt;</description></item><item><title>通过Django发送邮件</title><link>http://xiejava.ishareread.com/posts/2022-12-30-%E9%80%9A%E8%BF%87django%E5%8F%91%E9%80%81%E9%82%AE%E4%BB%B6/</link><pubDate>Fri, 30 Dec 2022 14:57:46 +0000</pubDate><guid>http://xiejava.ishareread.com/posts/2022-12-30-%E9%80%9A%E8%BF%87django%E5%8F%91%E9%80%81%E9%82%AE%E4%BB%B6/</guid><description>&lt;p&gt;通过Django发送邮件非常的简单，在Python中已经内置了一个smtplib邮件发送模块，Django在此基础上进行了简单地封装，我们可以在Django的环境中方便的发送邮件。大部分邮件发送成功主要是邮件的参数配置，本文以常用的126邮箱和QQ邮箱为例介绍Django发送邮件的配置，其他提供smtp邮件服务的邮箱都是一样的。&lt;/p&gt;</description></item><item><title>Django自定义manage.py命令实现hexo博客迁移</title><link>http://xiejava.ishareread.com/posts/2022-07-27-django%E8%87%AA%E5%AE%9A%E4%B9%89manage-py%E5%91%BD%E4%BB%A4%E5%AE%9E%E7%8E%B0hexo%E5%8D%9A%E5%AE%A2%E8%BF%81%E7%A7%BB/</link><pubDate>Wed, 27 Jul 2022 16:39:24 +0000</pubDate><guid>http://xiejava.ishareread.com/posts/2022-07-27-django%E8%87%AA%E5%AE%9A%E4%B9%89manage-py%E5%91%BD%E4%BB%A4%E5%AE%9E%E7%8E%B0hexo%E5%8D%9A%E5%AE%A2%E8%BF%81%E7%A7%BB/</guid><description>&lt;p&gt;实现了hexo的md文件格式解析，通过什么方式怎么来迁移hexo的博客到django的博客呢？开始想到的是通过Django的manage.py的shell命令，通过shell可以执行写好的python脚本进行hexo的md文件格式解析并入库。后来想想为啥不直接自定义一个manage.py的命令直接进行迁移呢？就如我们新建Django工程迁移数据库一样，执行python manage.py migrate来迁移数据库。我们可以定义python manage.py xxx来执行的迁移hexo博客。&lt;/p&gt;</description></item><item><title>Python二十行代码实现hexo的md文件格式解析</title><link>http://xiejava.ishareread.com/posts/2022-07-27-python%E4%BA%8C%E5%8D%81%E8%A1%8C%E4%BB%A3%E7%A0%81%E5%AE%9E%E7%8E%B0hexo%E7%9A%84md%E6%96%87%E4%BB%B6%E6%A0%BC%E5%BC%8F%E8%A7%A3%E6%9E%90/</link><pubDate>Wed, 27 Jul 2022 09:41:35 +0000</pubDate><guid>http://xiejava.ishareread.com/posts/2022-07-27-python%E4%BA%8C%E5%8D%81%E8%A1%8C%E4%BB%A3%E7%A0%81%E5%AE%9E%E7%8E%B0hexo%E7%9A%84md%E6%96%87%E4%BB%B6%E6%A0%BC%E5%BC%8F%E8%A7%A3%E6%9E%90/</guid><description>&lt;p&gt;最近用django+Vue实现了一个博客应用，原来的hexo的博客用着也挺好，想继续留着用，于是就想将hexo生成的.md的博客内容文件解析后直接写到django的博客数据库里做同步显示。&lt;/p&gt;</description></item><item><title>Django+Vue快速实现博客网站</title><link>http://xiejava.ishareread.com/posts/2022-07-26-django-vue%E5%BF%AB%E9%80%9F%E5%AE%9E%E7%8E%B0%E5%8D%9A%E5%AE%A2%E7%BD%91%E7%AB%99/</link><pubDate>Tue, 26 Jul 2022 17:18:33 +0000</pubDate><guid>http://xiejava.ishareread.com/posts/2022-07-26-django-vue%E5%BF%AB%E9%80%9F%E5%AE%9E%E7%8E%B0%E5%8D%9A%E5%AE%A2%E7%BD%91%E7%AB%99/</guid><description>&lt;p&gt;Django是一个开放源代码的Web应用框架，由Python写成。采用了MTV的框架模式，即模型M，视图V和模版T。它最初是被开发来用于管理劳伦斯出版集团旗下的一些以新闻内容为主的网站的，即是CMS（内容管理系统）软件。对于博客网站来说是典型的CMS应用。本文介绍通过Django+Vue的博客模版快速实现一个可用的博客网站。&lt;/p&gt;</description></item><item><title>Python3.9环境安装mysqlclient报python setup.py egg_info did not run successfully错避坑</title><link>http://xiejava.ishareread.com/posts/2022-07-16-python%E5%AE%89%E8%A3%85mysqlclient%E6%8A%A5%E9%94%99%E9%81%BF%E5%9D%91/</link><pubDate>Sat, 16 Jul 2022 11:07:00 +0000</pubDate><guid>http://xiejava.ishareread.com/posts/2022-07-16-python%E5%AE%89%E8%A3%85mysqlclient%E6%8A%A5%E9%94%99%E9%81%BF%E5%9D%91/</guid><description>&lt;p&gt;MySQL是常用的开源数据库，Python环境下django框架连接MySQL数据库用的是mysqlclient库，今天在用pip安装mysqlclient库时报错，特记录一下，避免后续继续踩坑。&lt;/p&gt;</description></item><item><title>Django加入markdown编辑器及markdown上传图片不回显避坑</title><link>http://xiejava.ishareread.com/posts/2022-07-15-django%E5%8A%A0%E5%85%A5markdown%E7%BC%96%E8%BE%91%E5%99%A8%E5%8F%8Amarkdown%E4%B8%8A%E4%BC%A0%E5%9B%BE%E7%89%87%E4%B8%8D%E5%9B%9E%E6%98%BE%E9%81%BF%E5%9D%91/</link><pubDate>Fri, 15 Jul 2022 23:29:21 +0000</pubDate><guid>http://xiejava.ishareread.com/posts/2022-07-15-django%E5%8A%A0%E5%85%A5markdown%E7%BC%96%E8%BE%91%E5%99%A8%E5%8F%8Amarkdown%E4%B8%8A%E4%BC%A0%E5%9B%BE%E7%89%87%E4%B8%8D%E5%9B%9E%E6%98%BE%E9%81%BF%E5%9D%91/</guid><description>&lt;p&gt;一般来说一个CMS系统如博客系统都需要一个好的富文本编辑器，现在大家更多的是选择MarkDown编辑器来编辑内容。Django作为python的主流web开发框架当然少不了markdown的插件。本文介绍如何在Django框架中引入markdown编辑器及在使用markdown时的注意事项。&lt;/p&gt;</description></item><item><title>Django的restframework接口框架自定义返回数据格式</title><link>http://xiejava.ishareread.com/posts/2022-07-14-django%E7%9A%84restframework%E6%8E%A5%E5%8F%A3%E6%A1%86%E6%9E%B6%E8%87%AA%E5%AE%9A%E4%B9%89%E8%BF%94%E5%9B%9E%E6%95%B0%E6%8D%AE%E6%A0%BC%E5%BC%8F/</link><pubDate>Thu, 14 Jul 2022 09:30:59 +0000</pubDate><guid>http://xiejava.ishareread.com/posts/2022-07-14-django%E7%9A%84restframework%E6%8E%A5%E5%8F%A3%E6%A1%86%E6%9E%B6%E8%87%AA%E5%AE%9A%E4%B9%89%E8%BF%94%E5%9B%9E%E6%95%B0%E6%8D%AE%E6%A0%BC%E5%BC%8F/</guid><description>&lt;p&gt;在前后端分离是大趋势的背景下，前端获取数据都是通过调用后台的接口来获取数据微服务的应用越来越多。Django是Python进行web应用开发常用的web框架，用Django框架进行web应用框架减少了很多工作，通常用很少量的代码就可以实现数据的增、删、改、查的业务应用，同样用Django的restframework的框架对外发布接口也是非常的简单方便，几行代码就可以将数据对象通过接口的方式提供服务。因为在实际开发过程中接口的返回数据有一定的格式，本文介绍通过自定义Response返回对象来自定义接口返回数据格式。&lt;/p&gt;</description></item><item><title>PyCharm在用Django开发时debug模式启动失败显示can't find '__main__' module的解决方法</title><link>http://xiejava.ishareread.com/posts/2022-06-06-pycharm%E5%9C%A8%E7%94%A8django%E5%BC%80%E5%8F%91%E6%97%B6debug%E6%A8%A1%E5%BC%8F%E5%90%AF%E5%8A%A8%E5%A4%B1%E8%B4%A5%E7%9A%84%E8%A7%A3%E5%86%B3%E6%96%B9%E6%B3%95/</link><pubDate>Mon, 06 Jun 2022 08:56:51 +0000</pubDate><guid>http://xiejava.ishareread.com/posts/2022-06-06-pycharm%E5%9C%A8%E7%94%A8django%E5%BC%80%E5%8F%91%E6%97%B6debug%E6%A8%A1%E5%BC%8F%E5%90%AF%E5%8A%A8%E5%A4%B1%E8%B4%A5%E7%9A%84%E8%A7%A3%E5%86%B3%E6%96%B9%E6%B3%95/</guid><description>&lt;p&gt;初次用Django开发web应用，在试图用Pycharm进行debug的时候，出现了一个奇怪的问题。以正常模式启动或者在terminal启动都没有问题。但是以debug模式启动时，显示&lt;code&gt;can't find '__main__' module”&lt;/code&gt;报错。在网上找了很久都没有看到解决方法，最后在某乎上看到一篇文章，在启动时加上&lt;code&gt;--noreload&lt;/code&gt;参数，既可以debug模式启动。&lt;/p&gt;</description></item><item><title>Python使用BeautifulSoup4修改网页内容实战</title><link>http://xiejava.ishareread.com/posts/2022-05-18-python%E4%BD%BF%E7%94%A8beautifulsoup4%E4%BF%AE%E6%94%B9%E7%BD%91%E9%A1%B5%E5%86%85%E5%AE%B9%E5%AE%9E%E6%88%98/</link><pubDate>Wed, 18 May 2022 21:45:28 +0000</pubDate><guid>http://xiejava.ishareread.com/posts/2022-05-18-python%E4%BD%BF%E7%94%A8beautifulsoup4%E4%BF%AE%E6%94%B9%E7%BD%91%E9%A1%B5%E5%86%85%E5%AE%B9%E5%AE%9E%E6%88%98/</guid><description>&lt;p&gt;最近有个小项目，需要爬取页面上相应的资源数据后，保存到本地，然后将原始的HTML源文件保存下来，对HTML页面的内容进行修改将某些标签整个给替换掉。&lt;/p&gt;</description></item><item><title>pandas快速入门指南</title><link>http://xiejava.ishareread.com/posts/2022-02-23-pandas%E5%BF%AB%E9%80%9F%E5%85%A5%E9%97%A8%E6%8C%87%E5%8D%97/</link><pubDate>Wed, 23 Feb 2022 10:29:43 +0000</pubDate><guid>http://xiejava.ishareread.com/posts/2022-02-23-pandas%E5%BF%AB%E9%80%9F%E5%85%A5%E9%97%A8%E6%8C%87%E5%8D%97/</guid><description>&lt;p&gt;&lt;img alt="pandas" loading="lazy" src="http://image2.ishareread.com/images/2022/20220223/pandas_logo.png"&gt;&lt;/p&gt;
&lt;p&gt;Pandas 是一个开源的第三方 Python 库，从 Numpy 和 Matplotlib 的基础上构建而来，享有数据分析“三剑客之一”的盛名（NumPy、Matplotlib、Pandas）。是学习数据分析、AI机器学习必学组件之一。
Pandas 这个名字来源于面板数据（Panel Data）与数据分析（data analysis）这两个名词的组合。在经济学中，Panel Data 是一个关于多维数据集的术语。Pandas 对数据的处理是为数据的分析服务的，它所提供的各种数据处理方法、工具是基于数理统计学出发，包含了日常应用中的众多数据分析方法。&lt;/p&gt;</description></item><item><title>pandas数据分析之数据绘图</title><link>http://xiejava.ishareread.com/posts/2022-02-16-pandas%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90%E4%B9%8B%E6%95%B0%E6%8D%AE%E7%BB%98%E5%9B%BE/</link><pubDate>Wed, 16 Feb 2022 11:32:09 +0000</pubDate><guid>http://xiejava.ishareread.com/posts/2022-02-16-pandas%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90%E4%B9%8B%E6%95%B0%E6%8D%AE%E7%BB%98%E5%9B%BE/</guid><description>&lt;p&gt;一图胜千言，将信息可视化（绘图）是数据分析中最重要的工作之一。它除了让人们对数据更加直观以外，还可以帮助我们找出异常值、必要的数据转换、得出有关模型的想法等等。pandas 在数据分析、数据可视化方面有着较为广泛的应用。本文将通过实例介绍pandas的数据绘图。
&lt;img alt="pandas数据绘图" loading="lazy" src="http://image2.ishareread.com/images/2022/20220216/pandas%E6%95%B0%E6%8D%AE%E7%BB%98%E5%9B%BE.png"&gt;&lt;/p&gt;</description></item><item><title>pandas数据分析之数据重塑透视(stack、unstack、melt、pivot)</title><link>http://xiejava.ishareread.com/posts/2022-02-14-pandas%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90%E4%B9%8B%E6%95%B0%E6%8D%AE%E9%87%8D%E5%A1%91%E9%80%8F%E8%A7%86-stackunstackmeltpivot/</link><pubDate>Mon, 14 Feb 2022 00:30:52 +0000</pubDate><guid>http://xiejava.ishareread.com/posts/2022-02-14-pandas%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90%E4%B9%8B%E6%95%B0%E6%8D%AE%E9%87%8D%E5%A1%91%E9%80%8F%E8%A7%86-stackunstackmeltpivot/</guid><description>&lt;p&gt;在数据分析的过程中，分析师常常希望通过多个维度多种方式来观察分析数据，重塑和透视是常用的手段。
数据的重塑简单说就是对原数据进行变形，为什么需要变形，因为当前数据的展示形式不是我们期望的维度，也可以说索引不符合我们的需求。对数据的重塑不是仅改变形状那么简单，在变形过程中，数据的内在数据意义不能变化，但数据的提示逻辑则发生了重大的改变。
数据透视是最常用的数据汇总工具，Excel 中经常会做数据透视，它可以根据一个或者多个指定的维度来聚合数据。pandas 也提供了数据透视函数来实现这些功能。
如果能熟练区分和使用各种重塑和透视分析方法，那用pandas处理分析日常的数据基本上就没有什么难度了。&lt;/p&gt;</description></item><item><title>pandas数据分析之分组聚合</title><link>http://xiejava.ishareread.com/posts/2022-02-12-pandas%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90%E4%B9%8B%E5%88%86%E7%BB%84%E8%81%9A%E5%90%88/</link><pubDate>Sat, 12 Feb 2022 09:56:00 +0000</pubDate><guid>http://xiejava.ishareread.com/posts/2022-02-12-pandas%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90%E4%B9%8B%E5%88%86%E7%BB%84%E8%81%9A%E5%90%88/</guid><description>&lt;p&gt;在数据分析过程中，经常会需要根据某一列或多列把数据划分为不同的组别，然后再对其进行数据分析。本文将介绍pandas的数据分组及分组后的应用如对数据进行聚合、转换和过滤。&lt;/p&gt;</description></item><item><title>pandas数据处理之合并与拼接</title><link>http://xiejava.ishareread.com/posts/2022-02-10-pandas%E6%95%B0%E6%8D%AE%E5%A4%84%E7%90%86%E4%B9%8B%E5%90%88%E5%B9%B6%E4%B8%8E%E6%8B%BC%E6%8E%A5/</link><pubDate>Thu, 10 Feb 2022 14:10:57 +0000</pubDate><guid>http://xiejava.ishareread.com/posts/2022-02-10-pandas%E6%95%B0%E6%8D%AE%E5%A4%84%E7%90%86%E4%B9%8B%E5%90%88%E5%B9%B6%E4%B8%8E%E6%8B%BC%E6%8E%A5/</guid><description>&lt;p&gt;在许多应用中，数据可能来自不同的渠道，在数据处理的过程中常常需要将这些数据集进行组合合并拼接，形成更加丰富的数据集。pandas提供了多种方法完全可以满足数据处理的常用需求。具体来说包括有join、merge、concat、append等。&lt;/p&gt;</description></item><item><title>pandas基本操作之数据访问(查看与检索)</title><link>http://xiejava.ishareread.com/posts/2022-02-07-pandas%E5%9F%BA%E6%9C%AC%E6%93%8D%E4%BD%9C%E4%B9%8B%E6%95%B0%E6%8D%AE%E8%AE%BF%E9%97%AE-%E6%9F%A5%E7%9C%8B%E4%B8%8E%E6%A3%80%E7%B4%A2/</link><pubDate>Mon, 07 Feb 2022 23:40:32 +0000</pubDate><guid>http://xiejava.ishareread.com/posts/2022-02-07-pandas%E5%9F%BA%E6%9C%AC%E6%93%8D%E4%BD%9C%E4%B9%8B%E6%95%B0%E6%8D%AE%E8%AE%BF%E9%97%AE-%E6%9F%A5%E7%9C%8B%E4%B8%8E%E6%A3%80%E7%B4%A2/</guid><description>&lt;p&gt;对于数据分析来说，在构造或载入数据后最基本的操作应该就是对数据的访问了。看一看数据的结构、组成、分布等，根据需要从数据集中检索提取出相应的数据。pandas作为数据分析的利器，当然提供了多种查看和检索数据的方法。本文就来捋一捋pandas基本的数据访问。&lt;/p&gt;</description></item><item><title>pandas数据处理之数据转换(映射map、替换replace、重命名rename)</title><link>http://xiejava.ishareread.com/posts/2022-02-04-pandas%E6%95%B0%E6%8D%AE%E5%A4%84%E7%90%86%E4%B9%8B%E6%95%B0%E6%8D%AE%E8%BD%AC%E6%8D%A2-%E6%98%A0%E5%B0%84map%E6%9B%BF%E6%8D%A2replace%E9%87%8D%E5%91%BD%E5%90%8Drename/</link><pubDate>Fri, 04 Feb 2022 22:07:01 +0000</pubDate><guid>http://xiejava.ishareread.com/posts/2022-02-04-pandas%E6%95%B0%E6%8D%AE%E5%A4%84%E7%90%86%E4%B9%8B%E6%95%B0%E6%8D%AE%E8%BD%AC%E6%8D%A2-%E6%98%A0%E5%B0%84map%E6%9B%BF%E6%8D%A2replace%E9%87%8D%E5%91%BD%E5%90%8Drename/</guid><description>&lt;p&gt;我们在数据处理的过程中经常碰到需要对数据进行转换的工作，比如将原来数据里的字典值根据字典转义成有意义的说明，将某些数据转换成其他的数据，将空值转换成其他值，将数据字段名进行重命名等。pandas作为数据处理分析的利器当然为上述的这些数据转换提供了便捷的方法。我们可以利用pandas提供的映射、替换、重命名等操作方便的进行相应的数据转换操作。&lt;/p&gt;</description></item><item><title>pandas数据分析之数据运算(逻辑运算、算术运算、统计运算、自定义运算)</title><link>http://xiejava.ishareread.com/posts/2022-02-03-pandas%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90%E4%B9%8B%E6%95%B0%E6%8D%AE%E8%BF%90%E7%AE%97-%E9%80%BB%E8%BE%91%E8%BF%90%E7%AE%97%E7%AE%97%E6%9C%AF%E8%BF%90%E7%AE%97%E7%BB%9F%E8%AE%A1%E8%BF%90%E7%AE%97%E8%87%AA%E5%AE%9A%E4%B9%89%E8%BF%90%E7%AE%97/</link><pubDate>Thu, 03 Feb 2022 13:05:46 +0000</pubDate><guid>http://xiejava.ishareread.com/posts/2022-02-03-pandas%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90%E4%B9%8B%E6%95%B0%E6%8D%AE%E8%BF%90%E7%AE%97-%E9%80%BB%E8%BE%91%E8%BF%90%E7%AE%97%E7%AE%97%E6%9C%AF%E8%BF%90%E7%AE%97%E7%BB%9F%E8%AE%A1%E8%BF%90%E7%AE%97%E8%87%AA%E5%AE%9A%E4%B9%89%E8%BF%90%E7%AE%97/</guid><description>&lt;p&gt;数据分析离不开数据运算，在介绍完pandas的数据加载、排序和排名、数据清洗之后，本文通过实例来介绍pandas的常用数据运算，包括逻辑运算、算术运算、统计运算及自定义运算。&lt;/p&gt;</description></item><item><title>pandas数据清洗之处理缺失、重复、异常数据</title><link>http://xiejava.ishareread.com/posts/2022-02-02-pandas%E6%95%B0%E6%8D%AE%E6%B8%85%E6%B4%97%E4%B9%8B%E5%A4%84%E7%90%86%E7%BC%BA%E5%A4%B1%E9%87%8D%E5%A4%8D%E5%BC%82%E5%B8%B8%E6%95%B0%E6%8D%AE/</link><pubDate>Wed, 02 Feb 2022 09:55:55 +0000</pubDate><guid>http://xiejava.ishareread.com/posts/2022-02-02-pandas%E6%95%B0%E6%8D%AE%E6%B8%85%E6%B4%97%E4%B9%8B%E5%A4%84%E7%90%86%E7%BC%BA%E5%A4%B1%E9%87%8D%E5%A4%8D%E5%BC%82%E5%B8%B8%E6%95%B0%E6%8D%AE/</guid><description>&lt;p&gt;在数据分析和建模的过程中，有相当多的时间要用在数据准备上：加载、清理、转换以及重塑。这些工作会占到分析师时间的80%或更多。幸运的是pandas和内置的Python标准库提供了高效、灵活的工具可以帮助我们轻松的做这些事情。&lt;/p&gt;</description></item><item><title>pandas数据分析之排序和排名(sort和rank)</title><link>http://xiejava.ishareread.com/posts/2022-01-30-pandas%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90%E4%B9%8B%E6%8E%92%E5%BA%8F%E5%92%8C%E6%8E%92%E5%90%8D-sort%E5%92%8Crank/</link><pubDate>Sun, 30 Jan 2022 09:14:37 +0000</pubDate><guid>http://xiejava.ishareread.com/posts/2022-01-30-pandas%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90%E4%B9%8B%E6%8E%92%E5%BA%8F%E5%92%8C%E6%8E%92%E5%90%8D-sort%E5%92%8Crank/</guid><description>&lt;p&gt;对数据集进行排序和排名的是常用最基础的数据分析手段，pandas提供了方便的排序和排名的方法，通过简单的语句和参数就可以实现常用的排序和排名。&lt;/p&gt;</description></item><item><title>pandas数据结构(Series和DataFrame)</title><link>http://xiejava.ishareread.com/posts/2022-01-23-pandas%E4%B9%8B%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84-series%E5%92%8Cdataframe/</link><pubDate>Sun, 23 Jan 2022 21:07:57 +0000</pubDate><guid>http://xiejava.ishareread.com/posts/2022-01-23-pandas%E4%B9%8B%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84-series%E5%92%8Cdataframe/</guid><description>&lt;h1 id="简介"&gt;简介&lt;/h1&gt;
&lt;p&gt;无可非议，pandas是Python最强大的数据分析和探索工具之一，因金融数据分析工具而开发，支持类似于SQL语句的模型，可以对数据进行增删改查等操作，支持时间序列分析，也能够灵活的处理缺失的数据。它含有使数据分析工作变得更快更简单的高级数据结构和操作工具。pandas是基于NumPy构建的，让以NumPy为中心的应用变得更加简单。&lt;/p&gt;</description></item><item><title>pandas数据加载(csv、excel、json、mysql、webAPI)</title><link>http://xiejava.ishareread.com/posts/2022-01-22-pandas%E4%B9%8B%E6%95%B0%E6%8D%AE%E5%8A%A0%E8%BD%BD-csvexceljsonmysqlwebapi/</link><pubDate>Sat, 22 Jan 2022 17:35:55 +0000</pubDate><guid>http://xiejava.ishareread.com/posts/2022-01-22-pandas%E4%B9%8B%E6%95%B0%E6%8D%AE%E5%8A%A0%E8%BD%BD-csvexceljsonmysqlwebapi/</guid><description>&lt;p&gt;&lt;img alt="pandas" loading="lazy" src="http://image2.ishareread.com/images/2022/20220122/pandas.png"&gt;
pandas 是基于NumPy 的一种工具，该工具是为解决数据分析任务而创建的。Pandas 纳入了大量库和一些标准的数据模型，提供了高效地操作大型数据集所需的工具。Pandas的名称来自于面板数据（panel data）和python数据分析（data analysis）。pandas提供了大量能使我们快速便捷地处理数据的函数和方法。它是使Python成为强大而高效的数据分析环境的重要因素之一。&lt;/p&gt;</description></item><item><title>Python实现读取Word表格计算汇总写入Excel</title><link>http://xiejava.ishareread.com/posts/2022-01-20-python%E5%AE%9E%E7%8E%B0%E8%AF%BB%E5%8F%96word%E8%A1%A8%E6%A0%BC%E8%AE%A1%E7%AE%97%E6%B1%87%E6%80%BB%E5%86%99%E5%85%A5excel/</link><pubDate>Thu, 20 Jan 2022 21:09:47 +0000</pubDate><guid>http://xiejava.ishareread.com/posts/2022-01-20-python%E5%AE%9E%E7%8E%B0%E8%AF%BB%E5%8F%96word%E8%A1%A8%E6%A0%BC%E8%AE%A1%E7%AE%97%E6%B1%87%E6%80%BB%E5%86%99%E5%85%A5excel/</guid><description>&lt;p&gt;快过年了，又到了公司年底评级的时候了。今年的评级和往常一下，每个人都要填写公司的民主评议表，给各个同事进行评价打分，然后部门收集起来根据收集上来的评价表进行汇总统计。想想要收集几十号人的评价表，并根据每个人的评价表又要填到Excel中进行汇总计算统计给出每个人的评价，就头大。虽然不是个什么难事，但是是个无脑的细致活。几十个人的评价也得要花大半天的时间来弄，而且搞多了还容易搞错。如是就想起干脆用Python写个小程序自动来处理这些脏活累活，评级年年都要评，每年都可以用。&lt;/p&gt;</description></item><item><title>机器学习实现恶意URL检测实战一</title><link>http://xiejava.ishareread.com/posts/2021-12-09-%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E5%AE%9E%E7%8E%B0%E6%81%B6%E6%84%8Furl%E6%A3%80%E6%B5%8B%E5%AE%9E%E6%88%98%E4%B8%80/</link><pubDate>Thu, 09 Dec 2021 08:58:04 +0000</pubDate><guid>http://xiejava.ishareread.com/posts/2021-12-09-%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E5%AE%9E%E7%8E%B0%E6%81%B6%E6%84%8Furl%E6%A3%80%E6%B5%8B%E5%AE%9E%E6%88%98%E4%B8%80/</guid><description>&lt;p&gt;恶意URL检测的方法很多，这里介绍通过机器学习分析URL文本分词词频来检测恶意URL。训练的数据集为开源数据集，通过机器学习训练检测模型，然后做了部分工程化的应用，将模型持久化，在应用的时候加载进来直接应用，不用重新进行训练。通过接口调用实现恶意URL检测预测判断。&lt;/p&gt;</description></item><item><title>解决Anaconda报The channel is not accessible源通道不可用问题</title><link>http://xiejava.ishareread.com/posts/2021-11-26-%E8%A7%A3%E5%86%B3anaconda%E6%8A%A5%E6%BA%90%E9%80%9A%E9%81%93%E4%B8%8D%E5%8F%AF%E7%94%A8%E9%97%AE%E9%A2%98/</link><pubDate>Fri, 26 Nov 2021 15:53:22 +0000</pubDate><guid>http://xiejava.ishareread.com/posts/2021-11-26-%E8%A7%A3%E5%86%B3anaconda%E6%8A%A5%E6%BA%90%E9%80%9A%E9%81%93%E4%B8%8D%E5%8F%AF%E7%94%A8%E9%97%AE%E9%A2%98/</guid><description>&lt;p&gt;最近在通过pycharm开发python程序，引用anaconda环境建立虚拟环境时报错，报UnavailableInvalidChannel: The channel is not accessible or is invalid.应该是镜像源访问通道无法访问或无效。现将解决办法记录如下：&lt;/p&gt;</description></item><item><title>Python快速实现一个域名、IP信息聚合网站</title><link>http://xiejava.ishareread.com/posts/2021-11-20-python%E5%BF%AB%E9%80%9F%E5%AE%9E%E7%8E%B0%E4%B8%80%E4%B8%AA%E5%9F%9F%E5%90%8Dip%E4%BF%A1%E6%81%AF%E8%81%9A%E5%90%88%E7%BD%91%E7%AB%99/</link><pubDate>Sun, 21 Nov 2021 14:18:19 +0000</pubDate><guid>http://xiejava.ishareread.com/posts/2021-11-20-python%E5%BF%AB%E9%80%9F%E5%AE%9E%E7%8E%B0%E4%B8%80%E4%B8%AA%E5%9F%9F%E5%90%8Dip%E4%BF%A1%E6%81%AF%E8%81%9A%E5%90%88%E7%BD%91%E7%AB%99/</guid><description>&lt;p&gt;域名和IP地址信息是非常基础的情报信息，目前网上有很多网站都提供了域名信息的查询、IP地址及归属地的查询。本文通过Python Flask实现域名及IP情报信息的聚合网站。&lt;/p&gt;</description></item><item><title>Python爬虫获取电子书资源实战</title><link>http://xiejava.ishareread.com/posts/2021-11-20-python%E7%88%AC%E8%99%AB%E8%8E%B7%E5%8F%96%E7%94%B5%E5%AD%90%E4%B9%A6%E8%B5%84%E6%BA%90%E5%AE%9E%E6%88%98/</link><pubDate>Sat, 20 Nov 2021 15:41:01 +0000</pubDate><guid>http://xiejava.ishareread.com/posts/2021-11-20-python%E7%88%AC%E8%99%AB%E8%8E%B7%E5%8F%96%E7%94%B5%E5%AD%90%E4%B9%A6%E8%B5%84%E6%BA%90%E5%AE%9E%E6%88%98/</guid><description>&lt;p&gt;最近在学习Python，相对java来说python简单易学、语法简单，工具丰富，开箱即用，适用面广做全栈开发那是极好的，对于小型应用的开发，虽然运行效率慢点，但开发效率极高。大大提高了咱们的生产力。为什么python能够在这几年火起来，自然有他的道理，当然也受益于这几年大数据和AI的火。&lt;/p&gt;</description></item><item><title>Python通过GeoIP获取IP信息（国家、城市、经纬度等）</title><link>http://xiejava.ishareread.com/posts/2021-11-10-python%E9%80%9A%E8%BF%87geoip%E8%8E%B7%E5%8F%96ip%E4%BF%A1%E6%81%AF%E5%9B%BD%E5%AE%B6%E5%9F%8E%E5%B8%82%E7%BB%8F%E7%BA%AC%E5%BA%A6%E7%AD%89/</link><pubDate>Wed, 10 Nov 2021 10:24:01 +0000</pubDate><guid>http://xiejava.ishareread.com/posts/2021-11-10-python%E9%80%9A%E8%BF%87geoip%E8%8E%B7%E5%8F%96ip%E4%BF%A1%E6%81%AF%E5%9B%BD%E5%AE%B6%E5%9F%8E%E5%B8%82%E7%BB%8F%E7%BA%AC%E5%BA%A6%E7%AD%89/</guid><description>&lt;p&gt;IP地址信息是非常重要的情报信息，通过IP可以定位到该IP所在的国家、城市、经纬度等。
获取IP信息的方式有很多，很多服务商都提供了相应的地址库或API接口服务。
如国内的ipip.net，国外的ip-api.com、maxmind.com等。
很多公司都是使用Maxmind网站的IP信息库，里面包含着IP的详细信息，有付费的也有免费的，收费与免费的区别就是精准度和覆盖率。&lt;/p&gt;</description></item><item><title>CentOS7下python3+Flask+uWSGI+Nginx+Supervisor环境搭建</title><link>http://xiejava.ishareread.com/posts/2021-11-05-centos7%E4%B8%8Bpython3-flask-uwsgi-nginx-supervisor%E7%8E%AF%E5%A2%83%E6%90%AD%E5%BB%BA/</link><pubDate>Fri, 05 Nov 2021 23:38:53 +0000</pubDate><guid>http://xiejava.ishareread.com/posts/2021-11-05-centos7%E4%B8%8Bpython3-flask-uwsgi-nginx-supervisor%E7%8E%AF%E5%A2%83%E6%90%AD%E5%BB%BA/</guid><description>&lt;p&gt;在生产环境中通常用uwsgi作为Flask的web服务网关，通过nginx反向代理进行负载均衡，通过supervior进行服务进行的管理。这一套搭下来还是有一些坑要踩，本文通过一个简单的Flask web应用记录了CentOS7下python3+Flask+uWSGI+Nginx+Supervisor环境搭建的全过程，以及一些注意事项，以免遗忘。&lt;/p&gt;</description></item><item><title>CentOS7下安装python3.8</title><link>http://xiejava.ishareread.com/posts/2021-11-04-centos7%E4%B8%8B%E5%AE%89%E8%A3%85python3-8/</link><pubDate>Thu, 04 Nov 2021 17:21:57 +0000</pubDate><guid>http://xiejava.ishareread.com/posts/2021-11-04-centos7%E4%B8%8B%E5%AE%89%E8%A3%85python3-8/</guid><description>&lt;p&gt;环境的搭建是进行开发的第一步，python因为存在python2和python3两个版本，让在建立python环境时造成不便，并且由于在Linux环境下不像Window环境安装那么友好，存在一些小坑。本教程记录了CentOS7下安装python3.8的过程和注意事项。&lt;/p&gt;</description></item><item><title>pyinstaller打包exe后不能运行报Failed to execute script XXXX问题分析与处理</title><link>http://xiejava.ishareread.com/posts/2020-11-03-pyinstaller%E6%89%93%E5%8C%85exe%E5%90%8E%E4%B8%8D%E8%83%BD%E8%BF%90%E8%A1%8C%E6%8A%A5failed-to-execute-script-xxxx%E9%97%AE%E9%A2%98%E5%88%86%E6%9E%90%E4%B8%8E%E5%A4%84%E7%90%86/</link><pubDate>Tue, 03 Nov 2020 17:16:00 +0000</pubDate><guid>http://xiejava.ishareread.com/posts/2020-11-03-pyinstaller%E6%89%93%E5%8C%85exe%E5%90%8E%E4%B8%8D%E8%83%BD%E8%BF%90%E8%A1%8C%E6%8A%A5failed-to-execute-script-xxxx%E9%97%AE%E9%A2%98%E5%88%86%E6%9E%90%E4%B8%8E%E5%A4%84%E7%90%86/</guid><description>&lt;p&gt;最近用python的tkinter写了个小工具，发现用pyinstaller打包成exe后运行出错。报Failed to execute script XXXX&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;pyinstaller -F -w worksubmit.py
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;&lt;img alt="报错" loading="lazy" src="http://image2.ishareread.com/images/2020/20201101/%E6%8A%A5%E9%94%99.png"&gt;&lt;/p&gt;
&lt;p&gt;为了搞清楚报错的原因，想看到程序具体执行的情况。可以通过不带-w的参数打包在控制台看程序执行情况。
&lt;code&gt;pyinstaller -F worksubmit.py&lt;/code&gt; 可以通过不带-w的参数打包，这时打包的exe运行是带控制台的命令行&lt;/p&gt;</description></item></channel></rss>