예제 #1
0
파일: Book.cs 프로젝트: iw00t/BiblioUpTik
 private static string GrCoverLink(string query)
 {
     try
     {
         Uri             uri        = new Uri("http://www.goodreads.com/");
         Uri             url        = new Uri(uri.ToString() + "search?utf8=✓&query=" + query);
         BiblioUpTik.Web web        = new BiblioUpTik.Web();
         string          strSource1 = web.BookRequest(url);
         string          str        = new Uri(new Uri(uri.ToString() + "/book/show/").ToString() + web.GetStringBetween(strSource1, "<img id=\"coverImage\"", "/>", 0)).ToString();
         int             startIndex = str.IndexOf("src=\"") + 5;
         int             length     = str.LastIndexOf('"') - startIndex;
         try
         {
             return(str.Substring(startIndex, length));
         }
         catch (Exception ex)
         {
             string strSource2 = new BiblioUpTik.Web().BookRequest(new Uri(new Uri("http://www.overdrive.com/").ToString() + "search?q=" + query));
             return(new Uri(web.GetStringBetween(strSource2, "<img not-data-src=\"/Content/img/load.gif\" src=\"", "\"", 0)).ToString());
         }
     }
     catch (Exception ex)
     {
         return("");
     }
 }
예제 #2
0
파일: Book.cs 프로젝트: iw00t/BiblioUpTik
 public static string AzCoverLink(string query)
 {
     try
     {
         Uri             url            = new Uri(new Uri("http://www.amazon.com/gp/product/images/").ToString() + query);
         BiblioUpTik.Web web            = new BiblioUpTik.Web();
         string          strSource      = web.BookRequest(url);
         string          stringBetween1 = web.GetStringBetween(strSource, "<noscript><div id=\"imageViewerDiv\">", "</div></noscript>", 0);
         string          stringBetween2 = web.GetStringBetween(stringBetween1, "<img src=\"", "\" id=", 0);
         int             startIndex     = stringBetween2.IndexOf('_') - 1;
         int             count          = stringBetween2.LastIndexOf('_') + 1 - startIndex;
         return(stringBetween2.Remove(startIndex, count));
     }
     catch (Exception ex)
     {
         return("");
     }
 }
예제 #3
0
파일: Book.cs 프로젝트: iw00t/BiblioUpTik
 public static ListViewItem ScrapeMobiData(ListViewItem item)
 {
     try
     {
         string          query = item.Tag.ToString().Split('|')[2].Trim();
         BiblioUpTik.Web web   = new BiblioUpTik.Web();
         try
         {
             Uri url = new Uri(new Uri("http://www.amazon.com/dp/").ToString() + query);
             if (BiblioUpTik.Properties.Settings.Default.GetPublisher || BiblioUpTik.Properties.Settings.Default.GetPages)
             {
                 string strSource = web.BookRequest(url);
                 if (BiblioUpTik.Properties.Settings.Default.GetPublisher)
                 {
                     item.SubItems[4].Text = web.GetStringBetween(strSource, "<b>Publisher:</b>", ";", 0).Replace(",", "").Trim();
                 }
                 if (BiblioUpTik.Properties.Settings.Default.GetPages && int.Parse(item.SubItems[8].Text) <= 0)
                 {
                     item.SubItems[8].Text = web.GetStringBetween(strSource, "<b>Print Length:</b>", " pages", 0).Trim();
                 }
             }
         }
         catch (Exception ex)
         {
             Console.WriteLine((object)ex);
         }
         if (BiblioUpTik.Properties.Settings.Default.GetCover || BiblioUpTik.Properties.Settings.Default.GetDescription)
         {
             GoogleBook googleBook = string.IsNullOrWhiteSpace(item.SubItems[6].Text) ? new GoogleBook(item, false) : new GoogleBook(item, true);
             bool       flag       = googleBook.VolumeInfo() != null;
             if (BiblioUpTik.Properties.Settings.Default.GetDescription && flag)
             {
                 item.SubItems[7].Text = googleBook.Description() ?? item.SubItems[7].Text;
             }
             if (BiblioUpTik.Properties.Settings.Default.GetCover)
             {
                 if (query != "")
                 {
                     item.SubItems[9].Text = Book.AzCoverLink(query);
                 }
                 else if (!string.IsNullOrWhiteSpace(item.SubItems[6].Text))
                 {
                     item.SubItems[9].Text = Book.AzCoverLink(Book.ConvertToISBN10(item.SubItems[6].Text));
                 }
                 if (string.IsNullOrWhiteSpace(item.SubItems[9].Text) && query != "")
                 {
                     item.SubItems[9].Text = Book.GrCoverLink(query);
                 }
             }
             if (!string.IsNullOrWhiteSpace(item.SubItems[6].Text) && flag)
             {
                 if (string.IsNullOrWhiteSpace(item.SubItems[5].Text))
                 {
                     item.SubItems[5].Text = googleBook.PublishDate() ?? "";
                 }
                 if (string.IsNullOrWhiteSpace(item.SubItems[2].Text))
                 {
                     item.SubItems[2].Text = googleBook.Author() ?? "";
                 }
                 if (string.IsNullOrWhiteSpace(item.SubItems[3].Text))
                 {
                     item.SubItems[3].Text = googleBook.Title() ?? "";
                 }
             }
         }
         return(item);
     }
     catch (Exception ex)
     {
         return(item);
     }
 }