从EXPLOSM.net漫画脚本[Python]下载
所以我写了这个简短的脚本(正确的单词?)从explosm.net漫画下载漫画图片,因为我最近发现了它,我想…把它放在我的iPhone…3G上 它工作得很好。用于获取网页html的urllib2和用于image.retrieve()的urllib 为什么我在上面贴这个:我如何优化这个代码?正则表达式(REGEX)会让它更快吗?这是互联网限制吗?糟糕的算法…? 任何速度或通用代码美学方面的改进都将非常感谢“答案” 多谢各位 --------------------------------代码---------------------------------- 导入urllib,urllib2 def LinkConvert(字符串链接): 对于字符串链接中的每个文本: 如果每个联系人==“”: string\u link=string\u link[:string\u link.find(eachLetter)]+“%20”+string\u link[string\u link.find(eachLetter)+1:] 返回字符串链接 开始=82 结束=1506 matchingStart=“”我建议使用来进行解析,这将大大简化您的代码 但是,既然您已经用这种方式工作了,那么在它中断(页面格式更改)之前,您可能不想碰它。我建议使用来进行解析,这将大大简化您的代码 但是,既然您已经用这种方式工作了,那么在它中断(页面格式更改)之前,您可能不想触摸它。我建议您使用它进行页面获取和解析。这将使您的代码简单得多 您是否希望将现有代码更改为这些替代方案取决于您。如果不想,则正则表达式可能会在某种程度上简化您的代码。我不确定它会对性能产生什么影响。我建议将其用于页面获取和解析。这将使您的代码更加简单从EXPLOSM.net漫画脚本[Python]下载,python,scripting,download,urllib,Python,Scripting,Download,Urllib,所以我写了这个简短的脚本(正确的单词?)从explosm.net漫画下载漫画图片,因为我最近发现了它,我想…把它放在我的iPhone…3G上 它工作得很好。用于获取网页html的urllib2和用于image.retrieve()的urllib 为什么我在上面贴这个:我如何优化这个代码?正则表达式(REGEX)会让它更快吗?这是互联网限制吗?糟糕的算法…? 任何速度或通用代码美学方面的改进都将非常感谢“答案” 多谢各位 --------------------------------代码----
您是否想更改适用于这些替代方案的现有代码取决于您。如果不想,则正则表达式可能会在某种程度上简化您的代码。我不确定它会对性能产生什么影响。可能是更适合这些“让我们改进此代码”的网站“类型的讨论。对于这些“让我们改进此代码”类型的讨论,可能是更合适的网站。urllib2使用阻塞调用,这是性能的主要原因。
您应该使用非阻塞库(如scrapy)或使用多个线程进行检索。我从来没有使用过scrapy(所以我不知道该选项),但是python中的线程非常简单和直接。urllib2使用阻塞调用,这是性能的主要原因。
您应该使用非阻塞库(如scrapy)或使用多个线程进行检索。我从来没有使用过scrapy(所以我不知道该选项),但是python中的线程处理非常简单和直接。今天使用Bash也这么做了。这确实很基本,但效果很好 我首先创建了两个目录,在其中放置文件:
mkdir -p html/archived
mkdir png
然后,按两个步骤进行操作。首先,浏览所有页面:
START=15
END=4783
for ((i=START;i<=END;i++)); do
echo $i
wget http://explosm.net/comics/$i/ -O html/$i.html
done
#Remove 404
find html -name '*.html' -size 0 -print0 | xargs -0 rm
START=15
完=4783
对于((i=START;i今天使用Bash也做了同样的事情。它非常基本,但运行良好
我首先创建了两个目录,在其中放置文件:
mkdir -p html/archived
mkdir png
然后,执行两个步骤。首先,浏览所有页面:
START=15
END=4783
for ((i=START;i<=END;i++)); do
echo $i
wget http://explosm.net/comics/$i/ -O html/$i.html
done
#Remove 404
find html -name '*.html' -size 0 -print0 | xargs -0 rm
START=15
完=4783
为了((i=START;这不是什么问题,因为没有任何东西损坏。请将其发布到您自己的博客页面,而不是此处。我很惊讶没有用于网络经济批量下载的预退出工具。这不是什么问题,因为没有任何东西损坏。请将其发布到您自己的博客页面,而不是此处。我很惊讶没有预退出工具用于网络喜剧批量下载。