Esempio n. 1
0
        public static void Test_Unea_request_01()
        {
            //   req region :
            //     method post    
            //     url http://www.unea.fr/union-nationale-entreprises-adaptees/annuaire-unea/71/71/annuaire/annuaire.asp
            //     Cookie __atuvc=1%7C4; PHPSESSID=t85siq9oqn4sqmi0eg09schbh0; ASPSESSIONIDQABATCST=BDBNKJFAHJNFHLOCOJGCGOOF; __utma=169855717.692259951.1390462116.1391519633.1391522222.4; __utmc=169855717; __utmz=169855717.1390462116.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none)
            //     Referer http://www.unea.fr/union-nationale-entreprises-adaptees/annuaire-unea/71/71/annuaire/annuaire.asp?txtRecherche=Entrez%20le%20nom%20d'une%20entreprise&hiddenValider=true
            //     postData hiddenValider=true&txtRecherche=Par+Nom+Entreprise&txtRecherche1=&txtRecherche2=1&txtRecherche3=&txtRecherche4=
            //     txtRecherche2=1 ==> 1 = Alsace

            string url = "http://www.unea.fr/union-nationale-entreprises-adaptees/annuaire-unea/71/71/annuaire/annuaire.asp";
            string request = "hiddenValider=true&txtRecherche=Par+Nom+Entreprise&txtRecherche1=&txtRecherche2=1&txtRecherche3=&txtRecherche4=";
            string referer = "http://www.unea.fr/union-nationale-entreprises-adaptees/annuaire-unea/71/71/annuaire/annuaire.asp?txtRecherche=Entrez%20le%20nom%20d'une%20entreprise&hiddenValider=true";

            //HtmlXmlReader hr = Http2.HtmlReader;
            //hr.WebRequestMethod = HttpRequestMethod.Post;
            //hr.WebRequestContent = request;
            //hr.WebRequestContentType = "application/x-www-form-urlencoded";
            //hr.WebRequestReferer = referer;
            HttpRequestParameters_v1 requestParameters = new HttpRequestParameters_v1();
            requestParameters.method = HttpRequestMethod.Post;
            requestParameters.content = request;
            requestParameters.contentType = "application/x-www-form-urlencoded";
            requestParameters.referer = referer;
            Http_v3.LoadUrl(url, requestParameters);
        }
Esempio n. 2
0
 public virtual string GetUrlSubDirectory(string url, HttpRequestParameters_v1 requestParameters = null)
 {
     if (_getUrlSubDirectory != null)
         return _getUrlSubDirectory(url, requestParameters);
     else
         return null;
 }
 public override Image LoadImage(string url, HttpRequestParameters_v1 requestParameters = null)
 {
     MongoImage mongoImage = LoadMongoImage(url, requestParameters);
     if (mongoImage.Image == null)
         LoadImage(mongoImage);
     return mongoImage.Image;
 }
Esempio n. 4
0
        //public static CookieContainer Cookies { get { return _hxr.Cookies; } }

        public static bool LoadUrl(string url, HttpRequestParameters_v1 requestParameters = null)
        {
            try
            {
                _hxr.Load(url, requestParameters);
                //WriteLine("request headers :");
                //WriteHeaders(_hxr.http.Request.Headers);
                //WriteLine("response headers :");
                //WriteHeaders(_hxr.http.Response.Headers);
                return true;
            }
            catch (Exception ex)
            {

                //Load("http://www.frboard.com/magazines-et-journaux/441873-multi-les-journaux-mardi-13-aout-2013-pdf-lien-direct.html");
                //15/08/2013 12:00:32 Error : A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond 5.199.168.178:80 (System.Net.Sockets.SocketException)
                //Unable to connect to the remote server (System.Net.WebException)
                //----------------------
                //   at System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot, SocketAddress socketAddress)
                //   at System.Net.ServicePoint.ConnectSocketInternal(Boolean connectFailure, Socket s4, Socket s6, Socket& socket, IPAddress& address, ConnectSocketState state, IAsyncResult asyncResult, Int32 timeout, Exception& exception)
                //----------------------
                //   at System.Net.HttpWebRequest.GetResponse()
                //   at pb.old.Http.OpenWebRequest() in c:\pib\dropbox\pbeuz\Dropbox\dev\project\Source\Source_01\Source\PB_Tools\\Http_Html.cs:line 911
                //   at pb.old.Http.Open() in c:\pib\dropbox\pbeuz\Dropbox\dev\project\Source\Source_01\Source\PB_Tools\\Http_Html.cs:line 780
                //   at pb.old.Http.Load() in c:\pib\dropbox\pbeuz\Dropbox\dev\project\Source\Source_01\Source\PB_Tools\\Http_Html.cs:line 503
                //   at pb.old.HtmlXmlReader.Load(String sUrl) in c:\pib\dropbox\pbeuz\Dropbox\dev\project\Source\Source_01\Source\PB_Tools\\HtmlXmlReader.cs:line 426
                //   at Print.download.w.Test_frboard_02()
                //   at Print.download.w.Run()

                //Trace.WriteLine("Error : \"{0}\" ({1})", ex.Message, ex.GetType().ToString());
                Trace.CurrentTrace.WriteError(ex);
                return false;
            }
        }
Esempio n. 5
0
 public string GetUrlSubPath(string url, HttpRequestParameters_v1 requestParameters = null)
 {
     string file = GetUrlFilename(url, requestParameters);
     string dir = GetUrlSubDirectory(url, requestParameters);
     if (dir != null)
         file = zPath.Combine(dir, file);
     return file;
 }
 public MongoImage LoadMongoImage(string url, HttpRequestParameters_v1 requestParameters = null)
 {
     BsonDocument document = GetCollection().zFindOneById<BsonDocument>(BsonValue.Create(url));
     if (document != null)
         return BsonSerializer.Deserialize<MongoImage>(document);
     else
         return CreateMongoImage(url, requestParameters);
 }
Esempio n. 7
0
 public static void Test_RapideDdl_LoadUrl_01(string url)
 {
     //string url = "http://rapide-ddl.com/ebooks/";
     HttpRequestParameters_v1 requestParameters = new HttpRequestParameters_v1();
     requestParameters.encoding = Encoding.UTF8;
     requestParameters.cookies.Add(new Uri(url), new Cookie("hasVisitedSite", "Yes"));
     pb.old.Http_v2.LoadUrl(url, requestParameters);
 }
Esempio n. 8
0
 public static void Test_UrlToFileName_01()
 {
     string url = "http://www.unea.fr/union-nationale-entreprises-adaptees/annuaire-unea/71/71/annuaire/annuaire.asp";
     string request = "hiddenValider=true&txtRecherche=&txtRecherche1=&txtRecherche2=1&txtRecherche3=&txtRecherche4=";
     HttpRequestParameters_v1 requestParameters = new HttpRequestParameters_v1();
     requestParameters.method = HttpRequestMethod.Post;
     requestParameters.content = request;
     //_tr.WriteLine(zurl.UrlToFileName(url, UrlFileNameType.FileName | UrlFileNameType.Content, null, requestParameters));
     _tr.WriteLine(zurl.UrlToFileName(new HttpRequest { Url = url, Content = requestParameters.content }, UrlFileNameType.FileName | UrlFileNameType.Content));
 }
Esempio n. 9
0
 public static void LoadImages(List<WebImage> images, HttpRequestParameters_v1 requestParameters = null)
 {
     for (int i = 0; i < images.Count; )
     {
         if (!LoadImage(images[i], requestParameters, __imageFilter))
             images.RemoveAt(i);
         else
             i++;
     }
 }
Esempio n. 10
0
 public static HttpRequest CreateHttpRequest(string url, HttpRequestParameters_v1 requestParameters)
 {
     HttpRequest httpRequest = new HttpRequest();
     httpRequest.Url = url;
     if (requestParameters != null)
     {
         httpRequest.Method = requestParameters.method;
         httpRequest.Content = requestParameters.content;
         httpRequest.Referer = requestParameters.referer;
     }
     return httpRequest;
 }
Esempio n. 11
0
 public static bool LoadToFile(string url, string file, HttpRequestParameters_v1 requestParameters = null)
 {
     try
     {
         _hxr.LoadToFile(url, file, requestParameters);
         return true;
     }
     catch (Exception ex)
     {
         //WriteLine("Error : \"{0}\" ({1})", ex.Message, ex.GetType().ToString());
         Trace.CurrentTrace.WriteError(ex);
         return false;
     }
 }
Esempio n. 12
0
 // bool desactivateDocumentStore = false
 public static RapideDdl_PostDetail Load(string url, HttpRequestParameters_v1 requestParameters = null, bool reload = false, bool loadImage = false, bool refreshDocumentStore = false)
 {
     //Trace.WriteLine("RapideDdl_LoadDetail.Load  \"{0}\"", url);
     if (requestParameters == null)
         requestParameters = new HttpRequestParameters_v1();
     requestParameters.encoding = Encoding.UTF8;
     pb.Web.v1.RequestFromWeb_v2 request = new pb.Web.v1.RequestFromWeb_v2(url, requestParameters, reload, false);
     //_load.DesactivateDocumentStore = desactivateDocumentStore;
     RapideDdl_PostDetail postDetail = _load.Load(request, GetPostDetailKey(url), refreshDocumentStore);
     //_load.DesactivateDocumentStore = false;
     if (loadImage)
         pb.old.Http_v2.LoadImageFromWeb(postDetail.images);
     return postDetail;
 }
Esempio n. 13
0
 public static HttpRequestParameters CreateHttpRequestParameters(HttpRequestParameters_v1 requestParameters)
 {
     HttpRequestParameters requestParameters_new = new HttpRequestParameters();
     if (requestParameters != null)
     {
         requestParameters_new.Accept = requestParameters.accept;
         requestParameters_new.AutomaticDecompression = requestParameters.automaticDecompression;
         requestParameters_new.ContentType = requestParameters.contentType;
         requestParameters_new.Cookies = requestParameters.cookies;
         requestParameters_new.Encoding = requestParameters.encoding;
         requestParameters_new.Expect100Continue = requestParameters.Expect100Continue;
         requestParameters_new.Headers = requestParameters.headers;
         requestParameters_new.UserAgent = requestParameters.userAgent;
     }
     return requestParameters_new;
 }
Esempio n. 14
0
 public static TelechargementPlus_PostDetail Load(string url, HttpRequestParameters_v1 requestParameters = null, bool reload = false, bool loadImage = false)
 {
     //Trace.WriteLine("TelechargementPlus_LoadDetail.Load  \"{0}\"", url);
     if (requestParameters == null)
         requestParameters = new HttpRequestParameters_v1();
     requestParameters.encoding = Encoding.UTF8;
     //RequestFromWeb request = new RequestFromWeb(url, requestParameters, reload, loadImage);
     pb.Web.v1.RequestFromWeb_v2 request = new pb.Web.v1.RequestFromWeb_v2(url, requestParameters, reload, false);
     //WebDataRequest<TelechargementPlus_PostDetail> request = new WebDataRequest<TelechargementPlus_PostDetail>(url, GetPostDetailKey(url), requestParameters, reload, loadImage);
     TelechargementPlus_PostDetail postDetail = _load.Load(request, GetPostDetailKey(url));
     if (loadImage)
     {
         pb.old.Http_v2.LoadImageFromWeb(postDetail.images);
     }
     return postDetail;
 }
Esempio n. 15
0
 public static bool LoadImage(WebImage image, HttpRequestParameters_v1 requestParameters = null, Predicate<ImageMongoCache_v1> filter = null)
 {
     if (image.Url != null && image.Image == null)
     {
         if (__imageCacheManager != null)
         {
             ImageMongoCache_v1 imageCache = (ImageMongoCache_v1)__imageCacheManager.GetImageCache(image.Url, requestParameters);
             if (filter != null && !filter(imageCache))
                 return false;
             image.Image = imageCache.Image;
         }
         else
             image.Image = pb.old.Http_v2.LoadImageFromWeb(image.Url, requestParameters);
     }
     return true;
 }
Esempio n. 16
0
        //public static void LoadImageFromWeb(ImageHtml image, HttpRequestParameters requestParameters = null)
        //{
        //    if (image.Source != null)
        //        image.Image = LoadImageFromWeb(image.Source, requestParameters);
        //}

        // List<ImageHtml> images
        public static void LoadImageFromWeb(IEnumerable<ImageHtml> images, HttpRequestParameters_v1 requestParameters = null)
        {
            foreach (ImageHtml image in images)
            {
                if (image.Source != null)
                {
                    if (image.Image == null)
                        image.Image = LoadImageFromWeb(image.Source, requestParameters);
                    if (image.Image != null)
                    {
                        image.ImageWidth = image.Image.Width;
                        image.ImageHeight = image.Image.Height;
                    }
                }
            }
        }
Esempio n. 17
0
        public static void Test_Handeco_LoadHeaderPages_01(int nbPage = 1, bool loadLastPage = false)
        {
            Trace.WriteLine("Test_Handeco_Load_01");
            // www.handeco.org => 87.98.177.160
            // impossible d'aller directement à la page 2
            // les paramètres sont envoyés par un post qui renvoie la page 1
            // puis on fait un get pour les pages suivantes
            string url = "http://www.handeco.org/fournisseurs/rechercher";

            //Http2.LoadUrl(url);

            // tous les départements
            string content = "raisonSociale=&SIRET=&departements%5B%5D=67&departements%5B%5D=68&departements%5B%5D=24&departements%5B%5D=33&departements%5B%5D=40&departements%5B%5D=47&departements%5B%5D=64&departements%5B%5D=03&departements%5B%5D=15&departements%5B%5D=43&departements%5B%5D=63&departements%5B%5D=14&departements%5B%5D=50&departements%5B%5D=61&departements%5B%5D=21&departements%5B%5D=58&departements%5B%5D=71&departements%5B%5D=89&departements%5B%5D=22&departements%5B%5D=29&departements%5B%5D=35&departements%5B%5D=56&departements%5B%5D=18&departements%5B%5D=28&departements%5B%5D=36&departements%5B%5D=37&departements%5B%5D=41&departements%5B%5D=45&departements%5B%5D=08&departements%5B%5D=10&departements%5B%5D=51&departements%5B%5D=52&departements%5B%5D=2A&departements%5B%5D=2B&departements%5B%5D=25&departements%5B%5D=39&departements%5B%5D=70&departements%5B%5D=90&departements%5B%5D=27&departements%5B%5D=76&departements%5B%5D=75&departements%5B%5D=77&departements%5B%5D=78&departements%5B%5D=91&departements%5B%5D=92&departements%5B%5D=93&departements%5B%5D=94&departements%5B%5D=95&departements%5B%5D=11&departements%5B%5D=30&departements%5B%5D=34&departements%5B%5D=48&departements%5B%5D=66&departements%5B%5D=19&departements%5B%5D=23&departements%5B%5D=87&departements%5B%5D=54&departements%5B%5D=55&departements%5B%5D=57&departements%5B%5D=88&departements%5B%5D=09&departements%5B%5D=12&departements%5B%5D=31&departements%5B%5D=32&departements%5B%5D=46&departements%5B%5D=65&departements%5B%5D=81&departements%5B%5D=82&departements%5B%5D=59&departements%5B%5D=62&departements%5B%5D=44&departements%5B%5D=49&departements%5B%5D=53&departements%5B%5D=72&departements%5B%5D=85&departements%5B%5D=02&departements%5B%5D=60&departements%5B%5D=80&departements%5B%5D=16&departements%5B%5D=17&departements%5B%5D=79&departements%5B%5D=86&departements%5B%5D=04&departements%5B%5D=05&departements%5B%5D=06&departements%5B%5D=13&departements%5B%5D=83&departements%5B%5D=84&departements%5B%5D=01&departements%5B%5D=07&departements%5B%5D=26&departements%5B%5D=38&departements%5B%5D=42&departements%5B%5D=69&departements%5B%5D=73&departements%5B%5D=74&departements%5B%5D=971&departements%5B%5D=973&departements%5B%5D=972&departements%5B%5D=974&departements%5B%5D=988&departements%5B%5D=987&departements%5B%5D=975&departements%5B%5D=976&departements%5B%5D=986&experience_cotraitance=0&motsCles=&submitRecherche=Rechercher";
            // Auvergne - 03 Allier
            //string content = "raisonSociale=&SIRET=&departements%5B%5D=03&experience_cotraitance=0&motsCles=&submitRecherche=Rechercher";

            CookieContainer cookies = new CookieContainer();

            HttpRequestParameters_v1 requestParameters = new HttpRequestParameters_v1();
            requestParameters.cookies = cookies;
            requestParameters.method = HttpRequestMethod.Post;
            requestParameters.content = content;
            //requestParameters.Expect100Continue = true;
            //HtmlXmlReader hxr = HtmlXmlReader.CurrentHtmlXmlReader;
            //hxr.LoadRepeatIfError = 1;
            //hxr.Load(url, requestParameters);
            Http_v3.LoadUrl(url, requestParameters);

            requestParameters = new HttpRequestParameters_v1();
            requestParameters.cookies = cookies;
            int page = 1;
            for (int i = 1; i < nbPage; i++)
            {
                // http://www.handeco.org/fournisseurs/rechercher/page/2
                url = "http://www.handeco.org/fournisseurs/rechercher/page/" + (++page).ToString();
                Http_v3.LoadUrl(url, requestParameters);
            }

            if (loadLastPage)
            {
                url = "http://www.handeco.org/fournisseurs/rechercher/page/200";
                Http_v3.LoadUrl(url, requestParameters);
            }
        }
Esempio n. 18
0
        public static void Test_Unea_LoadHeader_01()
        {
            Unea.Unea.Init();
            //string request = "hiddenValider=true&txtRecherche=Par+Nom+Entreprise&txtRecherche1=&txtRecherche2=1&txtRecherche3=&txtRecherche4=";
            bool reload = false;
            bool loadImage = false;

            string url = "http://www.unea.fr/union-nationale-entreprises-adaptees/annuaire-unea/71/71/annuaire/annuaire.asp";
            string referer = "http://www.unea.fr/union-nationale-entreprises-adaptees/annuaire-unea/71/71/annuaire/annuaire.asp?txtRecherche=Entrez%20le%20nom%20d'une%20entreprise&hiddenValider=true";
            string request = "hiddenValider=true&txtRecherche=&txtRecherche1=&txtRecherche2=1&txtRecherche3=&txtRecherche4=";
            string requestContentType = "application/x-www-form-urlencoded";

            HttpRequestParameters_v1 requestParameters = new HttpRequestParameters_v1();
            requestParameters.method = HttpRequestMethod.Post;
            requestParameters.content = request;
            requestParameters.contentType = requestContentType;
            requestParameters.referer = referer;

            Unea_LoadHeader load = new Unea_LoadHeader(url, requestParameters);
            load.Load(reload, loadImage);
            load.Data.zView();
        }
        protected MongoImage CreateMongoImage(string url, HttpRequestParameters_v1 requestParameters = null)
        {
            string file = _urlCache.GetUrlSubPath(url, requestParameters);
            string path = zPath.Combine(_urlCache.CacheDirectory, file);
            if (!zFile.Exists(path))
                //Http2.LoadToFile(url, path, requestParameters);
                Http_v3.LoadToFile(url, path, requestParameters);
            Image image = null;
            if (zFile.Exists(path))
            {
                try
                {
                    image = zimg.LoadFromFile(path);
                }
                catch (Exception exception)
                {
                    Trace.WriteLine("error unable to load image url \"{0}\" to \"{1}\" (WebImageMongoCacheManager.CreateMongoImage())", url, path);
                    Trace.Write("error : ");
                    Trace.WriteLine(exception.Message);
                }
            }
            else
            {
                Trace.WriteLine("error unable to load image url \"{0}\" to \"{1}\" (WebImageMongoCacheManager.CreateMongoImage())", url, path);
            }

            MongoImage mongoImage = new MongoImage();
            mongoImage.Url = url;
            mongoImage.File = file;
            mongoImage.Width = image != null ? image.Width : 0;
            mongoImage.Height = image != null ? image.Height : 0;
            mongoImage.Image = image;

            GetCollection().zUpdate(new QueryDocument { { "_id", BsonValue.Create(url) } }, new UpdateDocument { { "$set", mongoImage.ToBsonDocument() } }, UpdateFlags.Upsert);

            return mongoImage;
        }
 public ImageMongoCache_v1(WebImageCacheManager_v1 imageUrlCacheManager, string url, HttpRequestParameters_v1 requestParameters = null)
     : base(imageUrlCacheManager, url, requestParameters)
 {
 }
 public override ImageCache_v1 GetImageCache(string url, HttpRequestParameters_v1 requestParameters = null)
 {
     return new ImageMongoCache_v1(this, url, requestParameters);
 }
Esempio n. 22
0
 public static Image LoadImage(string url, HttpRequestParameters_v1 requestParameters = null)
 {
     try
     {
         if (__imageCacheManager != null)
         {
             ImageCache_v1 imageCache = __imageCacheManager.GetImageCache(url, requestParameters);
             return imageCache.Image;
         }
         else
             return pb.old.Http_v2.LoadImageFromWeb(url, requestParameters);
     }
     catch (Exception ex)
     {
         pb.Trace.WriteLine("error RapideDdl loading image : {0}", ex.Message);
         return null;
     }
 }
Esempio n. 23
0
 public virtual ImageCache_v1 GetImageCache(string url, HttpRequestParameters_v1 requestParameters = null)
 {
     return new ImageCache_v1(this, url, requestParameters);
 }
Esempio n. 24
0
 public static Image LoadImageFromWeb(string url, HttpRequestParameters_v1 requestParameters = null)
 {
     try
     {
         Image image = _hxr.LoadImage(url, requestParameters);
         //if (image.Height > 200)
         //    image = image.zResize(height: 200);
         return image;
     }
     catch (Exception ex)
     {
         //WriteLine("Error : \"{0}\" ({1})", ex.Message, ex.GetType().ToString());
         Trace.CurrentTrace.WriteError(ex);
         return null;
     }
 }
Esempio n. 25
0
 public virtual string GetUrlFilename(string url, HttpRequestParameters_v1 requestParameters = null)
 {
     return zurl.UrlToFileName(url, _urlFileNameType, httpRequestContent: requestParameters != null ? requestParameters.content : null);
 }
Esempio n. 26
0
 public abstract Image LoadImage(string url, HttpRequestParameters_v1 requestParameters = null);
Esempio n. 27
0
 public ImageCache_v1(WebImageCacheManager_v1 imageUrlCacheManager, string url, HttpRequestParameters_v1 requestParameters = null)
 {
     _imageUrlCacheManager = imageUrlCacheManager;
     _url = url;
     _requestParameters = requestParameters;
 }
Esempio n. 28
0
 public string GetUrlPath(string url, HttpRequestParameters_v1 requestParameters = null)
 {
     return zPath.Combine(_cacheDirectory, GetUrlSubPath(url, requestParameters));
 }
Esempio n. 29
0
        public static void Test_frboard_03()
        {
            //string url = "http://www.frboard.com/magazines-et-journaux/441873-multi-les-journaux-mardi-13-aout-2013-pdf-lien-direct.html";
            //string url = "http://www.frboard.com/magazines-et-journaux/442257-multi-les-journaux-mercredi-14-aout-2013-pdf-lien-direct.html";
            //string url = "http://www.frboard.com/magazines-et-journaux/442270-multi-le-monde-du-jeudi-15-aout-2013-pdf.html";
            string url = "http://www.frboard.com/magazines-et-journaux/442649-multi-les-magazines-jeudi-15-aout-2013-pdf-liens-direct-new-post.html";
            //string url = "";
            //string url = "";
            //string url = "";
            //string url = "";
            //HtmlXmlReader.CurrentHtmlXmlReader.Cookies.zAdd("http://www.frboard.com/", Frboard.GetCookies());
            HttpRequestParameters_v1 requestParameters = new HttpRequestParameters_v1();
            requestParameters.cookies.zAdd("http://www.frboard.com/", Frboard.GetCookies());
            pb.old.HtmlXmlReader.CurrentHtmlXmlReader.Load(url, requestParameters);

            string xpath = "//div[@class='postbody']//div[@class='postrow has_after_content']";
            XDocument doc = pb.old.HtmlXmlReader.CurrentHtmlXmlReader.XDocument;
            XElement xe = doc.Root.zXPathElement(xpath);
            if (xe == null)
            {
                Trace.WriteLine("node not found \"{0}\"", xpath);
                return;
            }

            xpath = ".//div[@class='content']";
            xe = xe.XPathSelectElement(xpath);
            if (xe == null)
            {
                Trace.WriteLine("node not found \"{0}\"", xpath);
                return;
            }

            //foreach (XXNode child in xe.DescendantNodes().zWhereSelect(FrboardPost.Filter))
            foreach (pb.old.XXNode child in FrboardPostFilter.GetFilteredNodeList(xe))
            {
                Trace.WriteLine(child.ToString());
            }
        }
Esempio n. 30
0
        //public static void Test_frboard_01()
        //{
        //    string url = "http://www.frboard.com/magazines-et-journaux/";
        //    HtmlXmlReader.CurrentHtmlXmlReader.Load(url);
        //    HtmlXmlReader.CurrentHtmlXmlReader.ReadSelect("//li[starts-with(@class, 'threadbit')]",
        //        ".//h3[@class='threadtitle']//a/@href:.:n(href)",
        //        ".//h3[@class='threadtitle']//a/text():.:n(label1)",
        //        ".//div[@class='author']//text():.:Concat( ):n(author)");
        //    //HtmlXmlReader.CurrentHtmlXmlReader.ReadSelect("//span[@class='prev_next']//a[@rel='next']/@href");
        //}

        public static void Test_frboard_02()
        {
            //string url = "http://www.frboard.com/magazines-et-journaux/441873-multi-les-journaux-mardi-13-aout-2013-pdf-lien-direct.html";
            //string url = "http://www.frboard.com/magazines-et-journaux/442257-multi-les-journaux-mercredi-14-aout-2013-pdf-lien-direct.html";
            //string url = "http://www.frboard.com/magazines-et-journaux/442270-multi-le-monde-du-jeudi-15-aout-2013-pdf.html";
            string url = "http://www.frboard.com/magazines-et-journaux/442649-multi-les-magazines-jeudi-15-aout-2013-pdf-liens-direct-new-post.html";
            //string url = "";
            //string url = "";
            //string url = "";
            //string url = "";
            //HtmlXmlReader.CurrentHtmlXmlReader.Cookies.zAdd("http://www.frboard.com/", Frboard.GetCookies());
            HttpRequestParameters_v1 requestParameters = new HttpRequestParameters_v1();
            requestParameters.cookies.zAdd("http://www.frboard.com/", Frboard.GetCookies());
            pb.old.HtmlXmlReader.CurrentHtmlXmlReader.Load(url, requestParameters);


            // <div class="postbody"> <div class="content"> <blockquote class="postcontent restore ">
            // <div class="postbody"> <div class="postrow has_after_content">
            //HtmlXmlReader.CurrentHtmlXmlReader.ReadSelect("//div[@class='postbody']//blockquote");
            //string xpath = "//div[@class='postbody']//blockquote";
            //string xpath = "//div[@class='postbody']//div[@class='postrow has_after_content']";
            string xpath = "//div[@class='postbody']//div[@class='postrow has_after_content']";
            XDocument doc = pb.old.HtmlXmlReader.CurrentHtmlXmlReader.XDocument;
            XElement xe = doc.Root.zXPathElement(xpath);
            if (xe == null)
            {
                Trace.WriteLine("node not found \"{0}\"", xpath);
                return;
            }
            Trace.WriteLine("found \"{0}\"", xpath);
            Trace.WriteLine("date \"{0}\" time \"{1}\"", doc.Root.zXPathValue("//span[@class='date']//text()"), doc.Root.zXPathValue("//span[@class='time']//text()"));

            // <div class="userinfo">  <div class="username_container"> <div class="popupmenu memberaction">
            // <a rel="nofollow" class="username offline popupctrl" href="http://www.frboard.com/members/145457-lc.good.day.html" title="LC.GooD.Day est déconnecté"><strong>
            // <img src="http://www.frboard.com/images/misc/ur/general.png" class="userrank"></img><strong><font color="#696969">LC.GooD.Day</font></strong></strong></a>
            Trace.WriteLine("author \"{0}\"", doc.Root.zXPathValue("//div[@class='userinfo']//a//text()"));

            xpath = ".//div[@class='content']";
            xe = xe.XPathSelectElement(xpath);
            if (xe == null)
            {
                Trace.WriteLine("node not found \"{0}\"", xpath);
                return;
            }

            foreach (XNode child in xe.DescendantNodes())
            {
                if (child is XElement)
                {
                    XElement xeChild = child as XElement;
                    //Trace.WriteLine("child element \"{0}\"", xeChild.Name);
                    if (xeChild.Name == "img")
                        Trace.WriteLine("img src \"{0}\" alt \"{1}\" title \"{2}\" class \"{3}\"",
                            xeChild.zAttribValue("src"), xeChild.zAttribValue("alt"), xeChild.zAttribValue("title"), xeChild.zAttribValue("class"));
                }
                else if (child is XText)
                {
                    XText xtextChild = child as XText;
                    if (child.Parent.Name == "a")
                    {
                        Trace.WriteLine("link \"{0}\" href \"{1}\" rel \"{2}\"", xtextChild.Value, child.Parent.zAttribValue("href"), child.Parent.zAttribValue("rel"));
                    }
                    else
                        Trace.WriteLine("text \"{0}\"", xtextChild.Value.Trim());
                }
                else
                    Trace.WriteLine("child \"{0}\"", child.NodeType);
            }
            Trace.WriteLine();


            //HtmlXmlReader.CurrentHtmlXmlReader.ReadSelect("//li[starts-with(@class, 'threadbit')]",
            //    ".//h3[@class='threadtitle']//a/@href:.:n(href)",
            //    ".//h3[@class='threadtitle']//a/text():.:n(label1)",
            //    ".//div[@class='author']//text():.:Concat( ):n(author)");
            //HtmlXmlReader.CurrentHtmlXmlReader.ReadSelect("//span[@class='prev_next']//a[@rel='next']/@href");
        }