无题
趁着那个什么节的(反正不是我的节日)和周末,原本计划补充一下,把cmangarobot发布一下的。结果郁闷死了。
想想最开始的时候目标很简单,就是批量的下载,几天功夫就已经工作的很好了,但是 后来又想写的好看一点,又想添加功能多一点,又想添加多个site,结果就搞的!@#¥%¥#@!¥%
那个叫zxmh的站点几乎一周改动一次(强),我就得跟着改一下──话说最近这次改动还比较大的,把一个页面硬生生的塞入了好多个广告页面,又搞了个什么ajax动态载入评论和目录列表。而且由于他的代码中使用了不规范的js,使得在firefox下显示不出来目录列表了。
具体出问题的东西大概是在这个js上,但我也没有去仔细分析,不知道哪有问题:
他把漫画列表放到http://www.zxmh.net/volume.asp这儿去了,通过不同的referer返回不同的列表。
至于漫画页面的加密,还是老样子,只是某些页面获取会失败……不想调试……
另外,由于最近网速很慢,我频频发现有connection reset by peer的情况。
发现调用的下载wget很多的时候,就会出现这样的情况,似乎urllib2和wget都有这样的报错。
没办法,还是单线程把,给程序加了个列表导出的功能(顺便做了一个命令行参数解析):
cmr.py [-R] [-L] [-N name] url
-L的话会自动输出列表到当前目录。
然后写了一个单线程的下载程序Fetch.py:
Fetch.py [-p savepath] [-w wgetpath] PicList
可以指定wget和保存的目录。
本来准备整理一下发出来的,但是我在windows下面试了一下(程序是在ubuntu环境下写的),问题多多啊。原本想改改的,后来发现越改越多,算了,反正这个程序也是“玩票”的,就再等等吧。
想想最开始的时候目标很简单,就是批量的下载,几天功夫就已经工作的很好了,但是 后来又想写的好看一点,又想添加功能多一点,又想添加多个site,结果就搞的!@#¥%¥#@!¥%
那个叫zxmh的站点几乎一周改动一次(强),我就得跟着改一下──话说最近这次改动还比较大的,把一个页面硬生生的塞入了好多个广告页面,又搞了个什么ajax动态载入评论和目录列表。而且由于他的代码中使用了不规范的js,使得在firefox下显示不出来目录列表了。
具体出问题的东西大概是在这个js上,但我也没有去仔细分析,不知道哪有问题:
function createXMLHttps()
{
var ret = null;
try {
ret = new ActiveXObject('Msxml2.XMLHTTP');
}
catch (e) {
try {
ret = new ActiveXObject('Microsoft.XMLHTTP');
}
catch (ee) {
ret = null;
}
}
if (!ret && typeof XMLHttpRequest != 'undefined')
ret = new XMLHttpRequest();
return ret;
}
function ajax(URL,DIVID)
{
var DIVID=document.getElementById(DIVID);
if(DIVID)
{
jiazai = 'yes';
DIVID.innerHTML = ''
var xmlhttp = createXMLHttps();
xmlhttp.open("GET",URL,true);
xmlhttp.onreadystatechange = function()
{
//alert(xmlhttp.responseText);
if (xmlhttp.readyState == 4 && xmlhttp.status == 200)
{
DIVID.innerHTML = xmlhttp.responseText;
}
}
xmlhttp.send(null);
}
}
function window.onload() {
ajax('/volume.asp','divvolumelist');
//ajax('/gg2/vodone.htm','table_top');
}
{
var ret = null;
try {
ret = new ActiveXObject('Msxml2.XMLHTTP');
}
catch (e) {
try {
ret = new ActiveXObject('Microsoft.XMLHTTP');
}
catch (ee) {
ret = null;
}
}
if (!ret && typeof XMLHttpRequest != 'undefined')
ret = new XMLHttpRequest();
return ret;
}
function ajax(URL,DIVID)
{
var DIVID=document.getElementById(DIVID);
if(DIVID)
{
jiazai = 'yes';
DIVID.innerHTML = ''
var xmlhttp = createXMLHttps();
xmlhttp.open("GET",URL,true);
xmlhttp.onreadystatechange = function()
{
//alert(xmlhttp.responseText);
if (xmlhttp.readyState == 4 && xmlhttp.status == 200)
{
DIVID.innerHTML = xmlhttp.responseText;
}
}
xmlhttp.send(null);
}
}
function window.onload() {
ajax('/volume.asp','divvolumelist');
//ajax('/gg2/vodone.htm','table_top');
}
他把漫画列表放到http://www.zxmh.net/volume.asp这儿去了,通过不同的referer返回不同的列表。
至于漫画页面的加密,还是老样子,只是某些页面获取会失败……不想调试……
另外,由于最近网速很慢,我频频发现有connection reset by peer的情况。
发现调用的下载wget很多的时候,就会出现这样的情况,似乎urllib2和wget都有这样的报错。
没办法,还是单线程把,给程序加了个列表导出的功能(顺便做了一个命令行参数解析):
cmr.py [-R] [-L] [-N name] url
-L的话会自动输出列表到当前目录。
然后写了一个单线程的下载程序Fetch.py:
Fetch.py [-p savepath] [-w wgetpath] PicList
可以指定wget和保存的目录。
本来准备整理一下发出来的,但是我在windows下面试了一下(程序是在ubuntu环境下写的),问题多多啊。原本想改改的,后来发现越改越多,算了,反正这个程序也是“玩票”的,就再等等吧。