<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[MarrieChen的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/MarrieChen</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; MarrieChen]]></copyright><item><title><![CDATA[使用pytorch进行BERT inference时遇到的一些问题]]></title><link>https://blog.youkuaiyun.com/MarrieChen/article/details/108616540</link><guid>https://blog.youkuaiyun.com/MarrieChen/article/details/108616540</guid><author>MarrieChen</author><pubDate>Wed, 16 Sep 2020 20:55:37 +0800</pubDate><description><![CDATA[1. 数据集过大情况下，使用np.memmap内存映射读取大文件，在前几次程序运行时无错误，今天忽然报错：ValueError: cannot mmap an empty file. 这句话的意思是无法映射空文件，检查原因，发现是需要映射的大文件目录发生了改变，但并未在程序中修改该文件的路径导致。

2. GPU并行进行BERT inference的设置：由于数据量达到百万条，inference的速度相当慢，因此采用多GPU并行对数据进行测试，这里参考了这篇文章的做法，不同之处在于


if torch.c]]></description><category></category></item><item><title><![CDATA[使用pyinstaller对scrapy+selenium+pyqt5项目进行打包常见问题总结以及主要过程记录]]></title><link>https://blog.youkuaiyun.com/MarrieChen/article/details/107967441</link><guid>https://blog.youkuaiyun.com/MarrieChen/article/details/107967441</guid><author>MarrieChen</author><pubDate>Wed, 12 Aug 2020 23:34:09 +0800</pubDate><description><![CDATA[前一段时间构建了一个使用scrapy+selenium+pyqt5的爬虫可视化界面，用于爬取知乎、百度百家号以及新浪新闻，在界面调试无误后，就需要使用pyinstaller进行打包，将项目变成更容易移植的exe文件。这篇博文主要用于记录打包的主要过程以及问题的解决方法。

1. pyinstaller的安装

一般来说，使用常用的pip命令即可安装，但我在安装时遇到了如下问题：


Installing build dependencies ... error
ERROR: Command errored ]]></description><category></category></item><item><title><![CDATA[python scrapy+mongodb爬取百度百家号与新浪新闻]]></title><link>https://blog.youkuaiyun.com/MarrieChen/article/details/107660266</link><guid>https://blog.youkuaiyun.com/MarrieChen/article/details/107660266</guid><author>MarrieChen</author><pubDate>Wed, 29 Jul 2020 16:21:02 +0800</pubDate><description><![CDATA[此前我爬取了zhihu的相关问答，为了更好地收集信息，原本的打算是爬取百度资讯的内容，但在对页面进行分析后发现，在百度资讯的搜索结果中，百家号的页面格式比较统一，便于爬取；而其他媒体网站的页面格式比较繁杂，并且在百度特定关键词搜索结果中，像腾讯新闻、新浪新闻等比较具有可信度，并且格式较为统一的页面，数量其实非常少，所以从百度资讯的媒体网站爬取数据是不太现实的。此时我发现，新浪具有新闻的检索功能，来源较为广泛，并且新浪作为转载网站，为页面提供了较为统一清晰的格式。所以最终我决定爬取百度百家号+新浪新闻信息。
]]></description><category></category></item><item><title><![CDATA[在scrapy通过配置文件进行自定义参数的爬虫并行]]></title><link>https://blog.youkuaiyun.com/MarrieChen/article/details/107636355</link><guid>https://blog.youkuaiyun.com/MarrieChen/article/details/107636355</guid><author>MarrieChen</author><pubDate>Wed, 29 Jul 2020 11:08:28 +0800</pubDate><description><![CDATA[在同个项目下写了多个爬虫之后，如果我们需要同时并行运行多个爬虫，需要怎么做呢？

关于这个，我找到了两篇可以解决问题的博文，主要思路是在爬虫目录下新建commands目录，重新定义Command函数,通过这个思路，我们可以做到的是重新定义启动爬虫时的命令行参数，收集我们需要传入内部的参数，并且再通过Command函数解析，并传递给每个运行的爬虫。

其中一篇博文解释的思路比较清晰，耐心读就可以读懂：https://blog.youkuaiyun.com/qq_38282706/article/details/80991]]></description><category></category></item><item><title><![CDATA[scrapy+selenium按照某一主题爬取zhihu相关内容]]></title><link>https://blog.youkuaiyun.com/MarrieChen/article/details/107404042</link><guid>https://blog.youkuaiyun.com/MarrieChen/article/details/107404042</guid><author>MarrieChen</author><pubDate>Sat, 18 Jul 2020 12:35:46 +0800</pubDate><description><![CDATA[紧接前一篇分析zhihu反爬方法的博文，经过好几天的折腾，最终我还是选择通过百度搜索相关的问题，直接对问题详情页进行解析。这样做的好处在于知乎问题详情页是可以使用selenium爬取的，不必与反爬斗智斗勇，也就不用担心万一很快进一步升级反爬策略后爬虫失效，不足之处在于爬取速度肯定比不上requests请求，不过对我来说影响不是很大，所以也算找到了一种可行的方法啦。

今天这篇文章将详细记录一下scrapy+selenium+mongodb爬取zhihu某主题问题与答案的方法。

爬虫的总体流程很简单：使用百]]></description><category></category></item><item><title><![CDATA[爬取zhi hu的小记录]]></title><link>https://blog.youkuaiyun.com/MarrieChen/article/details/107349391</link><guid>https://blog.youkuaiyun.com/MarrieChen/article/details/107349391</guid><author>MarrieChen</author><pubDate>Wed, 15 Jul 2020 00:37:11 +0800</pubDate><description><![CDATA[在上篇制定了爬虫计划之后，我原本打算从zhi hu爬虫入手，因为同其他需要对多个目标站进行分析的任务相比，zhi hu的问答格式很统一，但后来发现原来自己跳了个大坑QQ。

坑1：使用requests对zhi hu的搜索、问题页进行爬取

因为本次需要根据关键词对内容进行爬取，所以很容易想到对zhi hu的搜索页进行爬取。需要说明的是，从zhi hu的搜索页面和问题页面进行访问不是必须要登录的，所以登录这步可以绕过。

然而，zhi hu的问题页有一个绕不开的问题，那就是request的回答请求头中存在加密]]></description><category></category></item><item><title><![CDATA[项目准备——爬虫及数据存储部分]]></title><link>https://blog.youkuaiyun.com/MarrieChen/article/details/107248171</link><guid>https://blog.youkuaiyun.com/MarrieChen/article/details/107248171</guid><author>MarrieChen</author><pubDate>Fri, 10 Jul 2020 12:51:02 +0800</pubDate><description><![CDATA[本次项目主要是针对某一主题，通过搜索引擎收集相关的新闻数据，同时也要对知乎的相关问答进行爬取，便于分析话题的关注热度。

本篇记录第一个任务构思过程，即编写爬虫代码收集数据。

数据来源：本次聚焦比较权威和大型的新闻网站，比如腾讯、新浪等，所以需要对url进行过滤。考虑到百度检索网页很多是机构页面，从百度资讯检索可以保证较高的时效性与新闻数量。因此，爬虫的总体结构确定为：
	通过百度资讯的“媒体网站”分类下进行关键字检索，对信息来源进行过滤，提取信息。这个过程需要解析百度搜索界面的结果url，与网页检索不同]]></description><category></category></item><item><title><![CDATA[虚拟环境下ubuntu+cuda10.0+tensorflow1.13.1的运行]]></title><link>https://blog.youkuaiyun.com/MarrieChen/article/details/106728352</link><guid>https://blog.youkuaiyun.com/MarrieChen/article/details/106728352</guid><author>MarrieChen</author><pubDate>Sat, 13 Jun 2020 10:02:44 +0800</pubDate><description><![CDATA[需要运行tensorflow1.13.1的代码，而服务器本身使用cuda10.2，经过查询后发现由于版本不匹配，所以无法运行。


ImportError: libcublas.so.10.0: cannot open shared object file: No such file or directory

于是在虚拟环境中部署cuda10.0环境。


conda install cudatoolkit=10.0

但是还是报错：


ImportError: libcudnn.so.7: canno]]></description><category></category></item><item><title><![CDATA[pytorch使用DataParallel进行GPU并行训练，以及AttributeError: 'DataParallel' object has no attribute '**'错误的解决]]></title><link>https://blog.youkuaiyun.com/MarrieChen/article/details/105969847</link><guid>https://blog.youkuaiyun.com/MarrieChen/article/details/105969847</guid><author>MarrieChen</author><pubDate>Thu, 07 May 2020 12:28:51 +0800</pubDate><description><![CDATA[请让模型奔跑

首先由于GPU暂时没有爆显存的担心，主要是想把程序尽快跑起来，所以参考了https://zhuanlan.zhihu.com/p/86441879的方法，在他的文章中，不仅对单机多GPU的情况进行了介绍，同时也给出了平衡显存的方法，以及多机多GPU的方法，并且介绍很简洁易懂。

在我的程序中，主要用到的是最简单的情况，步骤如下：

使用单机多卡进行训练，设置程序可见的GPU编号：
...]]></description><category></category></item><item><title><![CDATA[ANDROID解决apk生成时Multiple dex files define问题的过程]]></title><link>https://blog.youkuaiyun.com/MarrieChen/article/details/80234118</link><guid>https://blog.youkuaiyun.com/MarrieChen/article/details/80234118</guid><author>MarrieChen</author><pubDate>Tue, 08 May 2018 08:22:31 +0800</pubDate><description><![CDATA[在打包生成apk时，遇到了错误，提示我的pagerslidingtabstrip框架有Multiple dex files define的问题。一般出现这种问题是因为在导入dependencies的时候重复导入，而dex又不能完全将其合并，所以提示错误。上网搜索解决方案时，发现比较简明的办法是在terminal运行gradlew app:dependencies 作用是打印工程的依赖树，比较容易看...]]></description><category></category></item><item><title><![CDATA[OkHttp上传Json数据]]></title><link>https://blog.youkuaiyun.com/MarrieChen/article/details/80147549</link><guid>https://blog.youkuaiyun.com/MarrieChen/article/details/80147549</guid><author>MarrieChen</author><pubDate>Mon, 30 Apr 2018 10:02:19 +0800</pubDate><description><![CDATA[public class MainActivity extends AppCompatActivity {

public static final String TAG = &quot;MainActivity&quot;;
public static final MediaType JSON=MediaType.parse(&quot;application/json; charset=utf-8&quot;);
@Override...]]></description><category></category></item><item><title><![CDATA[网络安全与管理作业的相关记录]]></title><link>https://blog.youkuaiyun.com/MarrieChen/article/details/79511769</link><guid>https://blog.youkuaiyun.com/MarrieChen/article/details/79511769</guid><author>MarrieChen</author><pubDate>Sat, 10 Mar 2018 22:19:03 +0800</pubDate><description><![CDATA[网络安全与管理是信安专业的必修课，老师布置了几项任务供我们选择，我选择了用webgoat进行网络渗透实验。在实验之前首先要安装相关环境，在此先记录一下。首先，我从OWASP中国网站上下载了相关文档。阅读之后发现运行这个环境需要安装java和Tomcat，幸运的是之前我的电脑已经安装并运行过它们，所以直接从点击打开链接上下载压缩包即可。在Windows的安装过程如下：运行时：文档下面会有提示，为了安...]]></description><category></category></item><item><title><![CDATA[关于python使用wordcloud生成繁体字词云的方法]]></title><link>https://blog.youkuaiyun.com/MarrieChen/article/details/79335396</link><guid>https://blog.youkuaiyun.com/MarrieChen/article/details/79335396</guid><author>MarrieChen</author><pubDate>Sun, 18 Feb 2018 20:34:31 +0800</pubDate><description><![CDATA[今天我了解了一些关于python词云模块的用法，简单地实践了一下。安装比较顺利，还是老办法，pip install就可以安装好，但是时间比较长，因为可能同时安装了很多使用词云必须用到的包。然后就是动手实践的过程了。在执行到from wordcloud import WordCloud,ImageColorGenerator这句代码时，提示can not import name &quot;WordCloud...]]></description><category></category></item><item><title><![CDATA[解决python中出现“str”object is not callable的记录]]></title><link>https://blog.youkuaiyun.com/MarrieChen/article/details/79321369</link><guid>https://blog.youkuaiyun.com/MarrieChen/article/details/79321369</guid><author>MarrieChen</author><pubDate>Tue, 13 Feb 2018 15:24:51 +0800</pubDate><description><![CDATA[在今天的python编程中，编辑新代码之后，之前一部分已经运行过的代码出现了问题，显示的是“str”object is not callable的问题，在网上查阅资料之后发现，大多数情况是因为在前面定义了以str命名的变量，导致了覆盖.但是反反复复检查了好几遍，发现并没有定义相应的变量。挣扎了好久终于承认这个问题的出现并不是因为我粗心导致了bug，而是其他方面的问题。首先说一下，我的项目是关于自然...]]></description><category></category></item><item><title><![CDATA[python爬虫备忘（6）]]></title><link>https://blog.youkuaiyun.com/MarrieChen/article/details/78010332</link><guid>https://blog.youkuaiyun.com/MarrieChen/article/details/78010332</guid><author>MarrieChen</author><pubDate>Sun, 17 Sep 2017 15:04:07 +0800</pubDate><description><![CDATA[下面将编写一个应用scrapy库的股票数据爬虫。


先从东方财富网爬取相关的股票信息，如股票编号，然后再寻找与百度股票的联系。]]></description><category></category></item><item><title><![CDATA[yield关键字作用]]></title><link>https://blog.youkuaiyun.com/MarrieChen/article/details/78010257</link><guid>https://blog.youkuaiyun.com/MarrieChen/article/details/78010257</guid><author>MarrieChen</author><pubDate>Sun, 17 Sep 2017 14:52:08 +0800</pubDate><description><![CDATA[yeild每一次调用都返回当前计算值，并且在下一次调用时将继续沿着上次的记忆进行。]]></description><category></category></item><item><title><![CDATA[python爬虫备忘（5）]]></title><link>https://blog.youkuaiyun.com/MarrieChen/article/details/78009860</link><guid>https://blog.youkuaiyun.com/MarrieChen/article/details/78009860</guid><author>MarrieChen</author><pubDate>Sun, 17 Sep 2017 13:41:13 +0800</pubDate><description><![CDATA[今天开始学习python爬虫的scrapy库，它是一个爬虫框架，用户通过配置可以对规模较大的网站进行爬取。
它通过命令行的形式来进行调用。
5+2结构：


常见指令：


建立一个目录：




init和items不需用户编写。
然后可以生成一个名为demo的爬虫文件。


可以看到spider目录下生成了一个demo.py文件。


name是爬虫的名]]></description><category></category></item><item><title><![CDATA[python爬虫淘宝比价]]></title><link>https://blog.youkuaiyun.com/MarrieChen/article/details/77885308</link><guid>https://blog.youkuaiyun.com/MarrieChen/article/details/77885308</guid><author>MarrieChen</author><pubDate>Thu, 07 Sep 2017 18:51:23 +0800</pubDate><description><![CDATA[首先是源码import re
import requests

def getHTMLText(url):
    try:
    	r=requests.get(url,timeout=30)
    	r.raise_for_status()
    	r.encoding=r.apparent_encoding
    	return r.text
    except:
    	ret]]></description><category></category></item><item><title><![CDATA[python爬虫备忘（4）]]></title><link>https://blog.youkuaiyun.com/MarrieChen/article/details/77876839</link><guid>https://blog.youkuaiyun.com/MarrieChen/article/details/77876839</guid><author>MarrieChen</author><pubDate>Thu, 07 Sep 2017 08:52:10 +0800</pubDate><description><![CDATA[今天主要学习的是正则表达式的相关知识.]]></description><category></category></item><item><title><![CDATA[python爬虫实例备忘]]></title><link>https://blog.youkuaiyun.com/MarrieChen/article/details/77746564</link><guid>https://blog.youkuaiyun.com/MarrieChen/article/details/77746564</guid><author>MarrieChen</author><pubDate>Thu, 31 Aug 2017 15:12:17 +0800</pubDate><description><![CDATA[从视频中学习到的爬虫爬取中国大学排名的步骤。






代码框架：


提取数据：
将所有的td标签查询出来(find_all简写方法)，并且存储成一个列表类型tds.


最后将它格式化输出即可：


视频中还对中英文混排的输出进行了优化。
没有对齐的主要原因是程序默认用英文字符填充，我们需要改成用中文空格填充即可。]]></description><category></category></item></channel></rss>