可以';t获取嵌入式ISSUU flash的源代码

本文关键字:ISSUU flash 源代码 嵌入式 获取 可以 | 更新日期: 2023-09-27 18:21:09

首先,我想做的是合法的(因为他们允许您下载pdf)。我只是想做一个更快、自动下载pdf的方法。

例如:http://www.lasirena.es/article/&路径=10_17&ID=782

它有一个嵌入的flash pdf,当我下载该页面的源代码时,pdf的链接:http://issuu.com/lasirena/docs/af_fulleto_setembre_andorra_sense_c?e=3360093/9079351

没有出现,我在源代码上唯一的东西是:3360093/9079351我试图从中找到一种构建pdf链接的方法,但我在任何地方都找不到名称"af_fulleto_setembre_andorra_sense_c"。。。

我已经进行了很多这样的自动下载,但这是我第一次无法构建或获取pdf链接,而且我似乎找不到方法,这可能吗?

我试图找到jpg的链接,但也没有成功。无论哪种方式(jpg或pdf)都可以。。。

附言:文档ID也没有显示在下载的源代码上。

谢谢。

可以';t获取嵌入式ISSUU flash的源代码

我想了一个解决办法,有些人可能不认为这是一个解决方案,但在我的情况下效果很好,因为它取决于ISSUU发布者帐户。解决方案本身正在向ISSUU API发出请求,该请求与我要查找的发布者帐户相连接。

HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://api.issuu.com/query?action=issuu.documents.list" +
                "&apiKey=Inser Your API Key" +
                "&format=json" +
                "&documentUsername=User of the account you want to make a request" +
                "&pageSize=100&resultOrder=asc" +
                "&responseParams=name,documentId,pageCount" +
                "&username=Insert your ISSUU username" +
                "&token=Insert Your Token here");
        request.Method = "POST";
        request.ContentType = "application/x-www-form-urlencoded";
        request.Accept = "application/json";
        try
        {
            using (WebResponse response = request.GetResponse())
            {
                var responseValue = string.Empty;
                // grab the response  
                using (var responseStream = response.GetResponseStream())
                {
                    using (var reader = new StreamReader(responseStream))
                    {
                        responseValue = reader.ReadToEnd();
                    }
                }
                if (responseValue != "")
                {
                    List<string> lista_linkss = new List<string>();
                    JObject ApiRequest = JObject.Parse(responseValue);
                    //// get JSON result objects into a list
                    IList<JToken> results = ApiRequest["rsp"]["_content"]["result"]["_content"].Children()["document"].ToList();
                    for (int i = 0; i < results.Count(); i++)
                    {
                        Folheto folheto = new Folheto();
                        folheto.name = results[i]["name"].ToString();
                        folheto.documentId = results[i]["documentId"].ToString();
                        folheto.pageCount = Int32.Parse(results[i]["pageCount"].ToString());
                        string _date = Newtonsoft.Json.JsonConvert.SerializeObject(results[i]["uploadTimestamp"], Formatting.None, new IsoDateTimeConverter() { DateTimeFormat = "yyyy-MM-dd hh:mm:ss" }).Replace(@"""", string.Empty);
                        folheto.uploadTimestamp = Convert.ToDateTime(_date);
                        if (!lista_nomes_Sirena.Contains(folheto.name))
                        {
                            list.Add(folheto);
                        }
                    }
                }
            }
        }
        catch (WebException ex)
        {
            // Handle error
        }

你必须注意参数"pageSize"API允许的最大值是100,这意味着你得到的最大结果数是100,因为我关注的帐户大约有240个pdf,我使用过一次参数为"resultOrder=asc"的请求,另一次使用值为"resultOrder=desc"的请求。

这使我能够插入前100个pdf和最新的100个pdf。由于我不需要历史记录,只需要他们从现在开始发送的pdf文件,所以这并没有什么不同。

在完成我的代码时,我将所有文档的ID发送到我创建的sql数据库中,当我启动程序时,我会检查ID是否已经下载,如果没有,它会下载pdf,如果是,它不会。

希望有人能围绕有用的找到这项工作