当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 6 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : 搜索网址中汉字的转变和网页中下载地址的提取
帖子发表于 : 2010-11-24 15:15 

注册: 2010-01-01 14:04
帖子: 26
送出感谢: 0 次
接收感谢: 0 次
最近迷上看小说(异世,穿越,玄幻类的),通常是在新浪IASK上找。这类小说淘汰率比较高,阅读得也很快,因此不久我便对一个个搜索,然后下载的重复操作感到厌烦,决定写个脚本来批量下载。

要下载小说的名字列表来源于IASK用户空间的目录。

现在遇到两个问题:
1.搜索网址中汉字的变换。比如搜“佛本是道”,其搜索网址为http://ishare.iask.sina.com.cn/search.php?key=%B7%F0%B1%BE%CA%C7%B5%C0&format=txt,“佛本是道”变成了红色部分的代码,这种变换是怎么样的?

2.下载页面的真实下载地址找不到。网页源码中找不到。。。。。。(硬伤)


页首
 用户资料  
 
2 楼 
 文章标题 : Re: 搜索网址中汉字的转变和网页中下载地址的提取
帖子发表于 : 2010-11-24 15:50 
头像

注册: 2006-10-25 18:08
帖子: 1582
送出感谢: 0 次
接收感谢: 0 次
能把现有的代码给大家看看不?


_________________
楼主真是一派胡言,真可谓:“两个黄鹂鸣翠柳,不知所云;一行白鹭上青天,不知所止“。本来不想和你辩论,今天气愤不过,和你理论一番。我国宪法写得清清楚楚:“一夜夫妻百日恩,七楼以上才有电梯”。这个想必你知道,既然知道,你就不能断章取义,就算是天气预报,它还有不准的时候呢!!!再者说了,那中国银行也不是你一家开的。人家马拉多纳都结婚了,你还拿着粮票顶什么用呢。真是滑天下之大稽。前些日子,全国人大刚刚开过会,郑重声明:“中国不搞多party制,存栏母猪给补贴”。多好的事呢,楞让你这号人给搅混了。


页首
 用户资料  
 
3 楼 
 文章标题 : Re: 搜索网址中汉字的转变和网页中下载地址的提取
帖子发表于 : 2010-11-24 21:43 

注册: 2008-05-24 8:30
帖子: 1453
送出感谢: 2
接收感谢: 30
代码:
echo -n 佛本是道 | iconv -t GB18030 | od -txC
0000000 b7 f0 b1 be ca c7 b5 c0
0000010

看出来是怎么来的吧?
如果安装了 vim,会有一个工具 xxd,则可以用下面的命令得到:
代码:
echo -n 佛本是道 | iconv -t GB18030 | xxd -ps -u | sed 's/../%&/g'


页首
 用户资料  
 
4 楼 
 文章标题 : Re: 搜索网址中汉字的转变和网页中下载地址的提取
帖子发表于 : 2010-11-25 17:15 
头像

注册: 2008-09-18 13:11
帖子: 2770
送出感谢: 1
接收感谢: 449
楼上说了第一点,我就来讲讲第二点吧。其实只要有一些网页编程经验就知道该怎么做了。

随便从搜出来的结果中找了一个(http://ishare.iask.sina.com.cn/f/7267835.html)为例。

页面中你可以找到这么一段:
代码:
<form name="downLoad" id="downLoad" method="post" action="/download.php?fileid=7267835" target="iframe_data" style="margin: 0pt;">

action里面就是下载的路径了,由于是相对路径,前面要加上域名,也就是http://ishare.iask.sina.com.cn/download.php?fileid=4775190,但这样还是不够的,因为它用的是post方法,所以用普通的get方法下载是不行的,而且新浪也有对referer的检查。

反正最后你可以这么写:
代码:
wget --post-data="fileid=7267835" --referer="http://ishare.iask.sina.com.cn/f/7267835.html" 'http://ishare.iask.sina.com.cn/download.php?fileid=7276835' -O a.txt

就存到a.txt里了,--post-data和--referer两个参数应该是一看就明白的


页首
 用户资料  
 
5 楼 
 文章标题 : Re: 搜索网址中汉字的转变和网页中下载地址的提取
帖子发表于 : 2010-11-25 21:54 
头像

注册: 2005-08-14 21:55
帖子: 58428
地址: 长沙
送出感谢: 4
接收感谢: 274
bash可以使用uni2asc或者 asc2uni
通常是 -a J 的参数

如果你使用perl。就没这些事情了。想想无敌的perlre和无数现成的网络模块吧。


_________________
● 鸣学


页首
 用户资料  
 
6 楼 
 文章标题 : Re: 搜索网址中汉字的转变和网页中下载地址的提取
帖子发表于 : 2010-11-26 1:08 

注册: 2010-01-01 14:04
帖子: 26
送出感谢: 0 次
接收感谢: 0 次
谢谢3楼4楼。我只找到相对路径那里,然后猜完整路径猜了很久,都不对。
ee,长久受你的蛊惑,已经开始看PERL了。《Perl实例精解》第四版(中文版)有不少代码有问题,运行老报错,比如把"`"打成"'"。现在在看《PERL语言入门》第五版(中文版)。


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 6 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 2 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译