背景说明:我初学python爬虫,要爬国内某网站上的数据做数据分析用,数据总共大约有 15e6 条,在这个网站上每个页面有 15 条数据。也就是说大约有 1e6 的页面要爬取。
目前爬取方案:获取html页面后用正则表达式匹配。在把匹配后的插入数据库中。我开了3个线程,分别从 0 , 1/3 ,2/3 出开始爬取。开多线程虽然有常数的优化,但是本身基数就很大,优化很不明显。
现在想学习解决的问题:
1,能否通过学习一些新的技术获得一个较大的优化?
2,在前期爬取的过程中速度明显比现在快,随着数据库里内容的增加,插入一条数据花费的时间边的更多了。(ps:数据库用的 sqlite3)(程序在新建数据库时运行速度会有较大提升,但数据库一旦到达 300 M 左右时耗时会明显增加)。数据库方面能有什么样的优化。
3,最近在学《计算机网络》,老师在课上讲到了分布式应用。想学着写个分布式的爬虫,就算是自己的练习。知友有哪些好的项目可以推荐一下学习?
这本书假定你没有任何关于脚本或一般程序的编程知识, 但是如果你具备相关的知识, 那么你将很容易就能够达到中高级的水平. . . 所有这些只是UNIX®浩瀚知识的一小部分. 你可以把本书作为教材, 自学手册, 或者是关于shell脚本技术的文档. 书中的练习和样例脚本中的注释将会与读者进行更好的互动, 但是最关键的前提是: 想真正学习脚本编程的唯一途径就是亲自动手编写脚本. 这本书也可作为教材来讲解一般的编程概念. 向伟大的中华民族的Linux用户致意! 我希望这本书能够帮助你们学习和理解L
20
<code class="python"><span class="kn">from</span> <span class="nn">xtls.activemqwraps</span> <span class="kn">import</span> <span class="n">producer</span>
<span class="c"># mq_uri 是你的MQ的连接地址</span>
<span class="c"># queue_name 是queue的名字</span>
<span class="nd">@producer</span><span class="p">(</span><span class="n">mq_uri</span><span class="p">,</span> <span class="n">queue_name</span><span class="p">)</span>
<span class="k">def</span> <span class="nf">insert_task</span><span class="p">():</span>
<span class="c"># 你有一百万个页码的任务</span>
<span class="c"># 如果你的任务是其它复杂的内容,也可以yield出去</span>
<span class="err">#</span> <span class="err">会自动加入到</span><span class="n">MessageQueue</span><span class="err">中</span>
<span class="k">for</span> <span class="n">page</span> <span class="ow">in</span> <span class="nb">xrange</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="mi">1000001</span><span class="p">):</span>
<span class="k">yield</span> <span class="n">page</span>
</code>
python怎么学习?python怎么入门?python在哪学?python怎么学才快?不用担心,这里为大家提供了python速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号