Advertisement
AhmedSokr

Untitled

Feb 14th, 2020
205
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.68 KB | None | 0 0
  1. private void OlxScrab()
  2. {
  3. try
  4. {
  5. this.lblCategory.Text = string.Format("{0}", this.getDepartment(this.txtLink.Text));
  6. for (int i = 1; i <= 500; i++)
  7. {
  8. this.mrse.WaitOne();
  9. int num = Convert.ToInt32(this.lblPageNumber.Text);
  10. num += 1;
  11. this.lblPageNumber.Text = string.Format("{0}", num.ToString());
  12. string url = this.txtLink.Text + "?page=" + i.ToString();
  13. foreach (HtmlNode htmlNode in (IEnumerable<HtmlNode>)new HtmlWeb().Load(url).DocumentNode.SelectNodes("//div[@class=\"ads__item\"]"))
  14. {
  15. this.mrse.WaitOne();
  16. try
  17. {
  18.  
  19. string text = htmlNode.Attributes["onclick"].Value.Split(new char[] { '=' })[1].Replace("'", string.Empty);
  20. string str = text.Split(new string[] { "ID" }, StringSplitOptions.None)[1]. Split(new char[] { '.' })[0];
  21.  
  22. string text2 = "N/A";
  23. string text3 = "N/A";
  24. if (this.btnEnableSellerName.Checked)
  25. {
  26. List<string> nameAndDesc = this.getNameAndDesc(text);
  27. text2 = nameAndDesc[0];
  28. text3 = nameAndDesc[1].Replace(Constants.vbTab, "").Replace(Constants.vbTab, "").Replace(Constants.vbCrLf + Constants.vbTab + Constants.vbTab + Constants.vbTab + Constants.vbTab + Constants.vbTab + Constants.vbTab + Constants.vbTab + Constants.vbTab + Constants.vbTab + Constants.vbTab, "").Replace(Constants.vbCrLf + Constants.vbTab + Constants.vbTab + Constants.vbTab + Constants.vbTab + Constants.vbTab + Constants.vbTab + Constants.vbTab + Constants.vbTab + Constants.vbTab + Constants.vbTab, "").Replace(Constants.vbTab, "");
  29. }
  30. string innerText = htmlNode.SelectSingleNode(".//*[@class='ads__item__ad--title']").InnerText;
  31. string innerText2 = htmlNode.SelectSingleNode(".//*[@class='ads__item__breadcrumbs']").InnerText;
  32. string innerText3 = htmlNode.SelectSingleNode(".//*[@class='ads__item__price price ']").InnerText;
  33. string text4 = htmlNode.SelectSingleNode(".//*[@class='ads__item__date']").InnerText;
  34. if (text4.Contains("اليوم"))
  35. text4 += string.Format(" - {0}", DateTime.Now.ToShortDateString());
  36. else if (text4.Contains("أمس"))
  37. text4 += string.Format(" - {0}", DateTime.Now.AddDays(-1.0).ToShortDateString());
  38. string innerText4 = htmlNode.SelectSingleNode(".//*[@class='ads__item__location']").InnerText;
  39. string address = string.Format("{0}{1}{2}", this.certificate, this.host, Properties.Settings.Default.mtolx) + str;
  40. string text5 = new WebClient().DownloadString(address).Split(new char[] { ':' })[1].Split(new char[] { '"' })[1].Replace(" ", string.Empty);
  41.  
  42.  
  43. ListViewItem item = new ListViewItem(text2);
  44. item.SubItems.Add(text5.Replace(",", "،"));
  45. item.SubItems.Add(innerText4.Replace(",", "،"));
  46. item.SubItems.Add(innerText.Replace(",", "،"));
  47. item.SubItems.Add(text3.Replace(",", "،"));
  48. item.SubItems.Add(innerText3.Replace(",", "."));
  49. item.SubItems.Add(text4.Replace(",", "،"));
  50. item.SubItems.Add(innerText2.Replace(",", "،"));
  51. base.Invoke(((MethodInvoker)delegate
  52. {
  53. this.listViewOLX.Items.Add(item);
  54. this.listViewOLX.EnsureVisible(this.listViewOLX.Items.Count - 1);
  55. }));
  56. int num2 = Convert.ToInt32(this.lblCountExtracted.Text);
  57. num2 += 1;
  58. this.lblCountExtracted.Text = num2.ToString();
  59. }
  60. catch (ThreadAbortException item)
  61. {
  62. ThreadAbortException item6 = null;
  63. /* TODO ERROR: Skipped WarningDirectiveTrivia */
  64. loopExceptions.Add(item6);
  65.  
  66. }
  67. /* TODO ERROR: Skipped WarningDirectiveTrivia */
  68. catch (Exception item2)
  69. {
  70. this.loopExceptions.Add(item2);
  71. }
  72. }
  73. }
  74. }
  75. catch (ThreadAbortException item3)
  76. {
  77. this.loopExceptions.Add(item3);
  78. }
  79. catch (Exception item4)
  80. {
  81. this.loopExceptions.Add(item4);
  82. }
  83. this.IsBusy = false;
  84. this.Pause();
  85. this.lblProcessStatus.Text = "Finishied";
  86. this.lblPageNumber.Text = "0";
  87. this.txtLink.Enabled = true;
  88. try
  89. {
  90. this.t.Abort();
  91. }
  92. catch (ThreadAbortException item5)
  93. {
  94. this.loopExceptions.Add(item5);
  95. }
  96. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement