mirror of
https://e.coding.net/circlecloud/SEOKeywordSearch.git
synced 2024-12-27 07:48:51 +00:00
增加错误重试功能...
This commit is contained in:
parent
2bc2488a9f
commit
43ebf21d35
126
Frm_Main.Designer.cs
generated
126
Frm_Main.Designer.cs
generated
@ -28,15 +28,21 @@
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle5 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle6 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle7 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle3 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle4 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle5 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle6 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle7 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Frm_Main));
|
||||
this.SearchView = new System.Windows.Forms.DataGridView();
|
||||
this.company = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.keyword = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.百度s = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.必应s = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.搜狗s = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.sum = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.ResultView = new System.Windows.Forms.DataGridView();
|
||||
this.公司名称 = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.关键词 = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
@ -54,12 +60,8 @@
|
||||
this.saveFile = new System.Windows.Forms.SaveFileDialog();
|
||||
this.clearresult = new System.Windows.Forms.Button();
|
||||
this.clearsearch = new System.Windows.Forms.Button();
|
||||
this.company = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.keyword = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.百度s = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.必应s = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.搜狗s = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.sum = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.label2 = new System.Windows.Forms.Label();
|
||||
this.retry = new System.Windows.Forms.TextBox();
|
||||
((System.ComponentModel.ISupportInitialize)(this.SearchView)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.ResultView)).BeginInit();
|
||||
this.SuspendLayout();
|
||||
@ -80,6 +82,50 @@
|
||||
this.SearchView.Size = new System.Drawing.Size(850, 200);
|
||||
this.SearchView.TabIndex = 0;
|
||||
//
|
||||
// company
|
||||
//
|
||||
this.company.HeaderText = "公司网址";
|
||||
this.company.Name = "company";
|
||||
this.company.Width = 150;
|
||||
//
|
||||
// keyword
|
||||
//
|
||||
this.keyword.HeaderText = "关键词(用英文逗号隔开)";
|
||||
this.keyword.Name = "keyword";
|
||||
this.keyword.Width = 330;
|
||||
//
|
||||
// 百度s
|
||||
//
|
||||
dataGridViewCellStyle1.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
|
||||
this.百度s.DefaultCellStyle = dataGridViewCellStyle1;
|
||||
this.百度s.HeaderText = "百度第一页";
|
||||
this.百度s.Name = "百度s";
|
||||
this.百度s.Width = 90;
|
||||
//
|
||||
// 必应s
|
||||
//
|
||||
dataGridViewCellStyle2.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
|
||||
this.必应s.DefaultCellStyle = dataGridViewCellStyle2;
|
||||
this.必应s.HeaderText = "必应第一页";
|
||||
this.必应s.Name = "必应s";
|
||||
this.必应s.Width = 90;
|
||||
//
|
||||
// 搜狗s
|
||||
//
|
||||
dataGridViewCellStyle3.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
|
||||
this.搜狗s.DefaultCellStyle = dataGridViewCellStyle3;
|
||||
this.搜狗s.HeaderText = "搜狗第一页";
|
||||
this.搜狗s.Name = "搜狗s";
|
||||
this.搜狗s.Width = 90;
|
||||
//
|
||||
// sum
|
||||
//
|
||||
dataGridViewCellStyle4.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
|
||||
this.sum.DefaultCellStyle = dataGridViewCellStyle4;
|
||||
this.sum.HeaderText = "总计";
|
||||
this.sum.Name = "sum";
|
||||
this.sum.Width = 55;
|
||||
//
|
||||
// ResultView
|
||||
//
|
||||
this.ResultView.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
|
||||
@ -147,7 +193,7 @@
|
||||
//
|
||||
// max
|
||||
//
|
||||
this.max.Location = new System.Drawing.Point(663, 10);
|
||||
this.max.Location = new System.Drawing.Point(663, 4);
|
||||
this.max.Name = "max";
|
||||
this.max.Size = new System.Drawing.Size(83, 21);
|
||||
this.max.TabIndex = 3;
|
||||
@ -156,7 +202,7 @@
|
||||
// label1
|
||||
//
|
||||
this.label1.AutoSize = true;
|
||||
this.label1.Location = new System.Drawing.Point(592, 13);
|
||||
this.label1.Location = new System.Drawing.Point(592, 7);
|
||||
this.label1.Name = "label1";
|
||||
this.label1.Size = new System.Drawing.Size(65, 12);
|
||||
this.label1.TabIndex = 7;
|
||||
@ -218,54 +264,30 @@
|
||||
this.clearsearch.UseVisualStyleBackColor = true;
|
||||
this.clearsearch.Click += new System.EventHandler(this.clearsearch_Click);
|
||||
//
|
||||
// company
|
||||
// label2
|
||||
//
|
||||
this.company.HeaderText = "公司网址";
|
||||
this.company.Name = "company";
|
||||
this.company.Width = 150;
|
||||
this.label2.AutoSize = true;
|
||||
this.label2.BackColor = System.Drawing.SystemColors.ControlLight;
|
||||
this.label2.Location = new System.Drawing.Point(592, 34);
|
||||
this.label2.Name = "label2";
|
||||
this.label2.Size = new System.Drawing.Size(65, 12);
|
||||
this.label2.TabIndex = 14;
|
||||
this.label2.Text = "失败重试: ";
|
||||
//
|
||||
// keyword
|
||||
// retry
|
||||
//
|
||||
this.keyword.HeaderText = "关键词(用英文逗号隔开)";
|
||||
this.keyword.Name = "keyword";
|
||||
this.keyword.Width = 330;
|
||||
//
|
||||
// 百度s
|
||||
//
|
||||
dataGridViewCellStyle1.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
|
||||
this.百度s.DefaultCellStyle = dataGridViewCellStyle1;
|
||||
this.百度s.HeaderText = "百度第一页";
|
||||
this.百度s.Name = "百度s";
|
||||
this.百度s.Width = 90;
|
||||
//
|
||||
// 必应s
|
||||
//
|
||||
dataGridViewCellStyle2.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
|
||||
this.必应s.DefaultCellStyle = dataGridViewCellStyle2;
|
||||
this.必应s.HeaderText = "必应第一页";
|
||||
this.必应s.Name = "必应s";
|
||||
this.必应s.Width = 90;
|
||||
//
|
||||
// 搜狗s
|
||||
//
|
||||
dataGridViewCellStyle3.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
|
||||
this.搜狗s.DefaultCellStyle = dataGridViewCellStyle3;
|
||||
this.搜狗s.HeaderText = "搜狗第一页";
|
||||
this.搜狗s.Name = "搜狗s";
|
||||
this.搜狗s.Width = 90;
|
||||
//
|
||||
// sum
|
||||
//
|
||||
dataGridViewCellStyle4.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
|
||||
this.sum.DefaultCellStyle = dataGridViewCellStyle4;
|
||||
this.sum.HeaderText = "总计";
|
||||
this.sum.Name = "sum";
|
||||
this.sum.Width = 55;
|
||||
this.retry.Location = new System.Drawing.Point(663, 31);
|
||||
this.retry.Name = "retry";
|
||||
this.retry.Size = new System.Drawing.Size(83, 21);
|
||||
this.retry.TabIndex = 13;
|
||||
this.retry.Text = "3";
|
||||
//
|
||||
// Frm_Main
|
||||
//
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
|
||||
this.ClientSize = new System.Drawing.Size(872, 603);
|
||||
this.Controls.Add(this.label2);
|
||||
this.Controls.Add(this.retry);
|
||||
this.Controls.Add(this.clearsearch);
|
||||
this.Controls.Add(this.clearresult);
|
||||
this.Controls.Add(this.readin);
|
||||
@ -315,6 +337,8 @@
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn 必应s;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn 搜狗s;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn sum;
|
||||
private System.Windows.Forms.Label label2;
|
||||
private System.Windows.Forms.TextBox retry;
|
||||
|
||||
}
|
||||
}
|
||||
|
14
Frm_Main.cs
14
Frm_Main.cs
@ -99,16 +99,24 @@ namespace SEOKeywordSearch
|
||||
{
|
||||
if (item.Cells[s.ToString() + "s"].Value == null)
|
||||
item.Cells[s.ToString() + "s"].Value = 0;
|
||||
state.ForeColor = Color.Black;
|
||||
state.Text = "正在 " + s.ToString() + " 查询 " + cpy + " 的关键词 " + key;
|
||||
for (int i = 1; i <= maxpage; i++)
|
||||
{
|
||||
string url = String.Format(UrlEnum.GetUrl(s), HttpUtility.UrlEncode(key), (s.ToString() == "搜狗" ? i : i - 1));//s搜狗的页面值不同
|
||||
this.ResultView.Rows[index].Cells[s.ToString() + "r"].Value = "查询第" + i + "页...";
|
||||
Application.DoEvents();
|
||||
httpHelper.Send(HttpMethod.GET, url);
|
||||
while (httpHelper.readyState != HttpReadyState.完成)
|
||||
for (int k = 1; k < int.Parse(retry.Text); k++)
|
||||
{
|
||||
Application.DoEvents();
|
||||
httpHelper.Send(HttpMethod.GET, url);
|
||||
while (httpHelper.readyState != HttpReadyState.完成)
|
||||
{
|
||||
Application.DoEvents();
|
||||
}
|
||||
if (!(string.IsNullOrEmpty(httpHelper.responseBody) || httpHelper.responseBody.StartsWith("0")))
|
||||
break;
|
||||
state.ForeColor = Color.Red;
|
||||
state.Text = "关键词 " + key + " 在 " + s.ToString() + " 第 " + i + " 页 网页抓取失败 重试第 " + k + " 次";
|
||||
}
|
||||
string htmldoc = httpHelper.responseBody;
|
||||
if (string.IsNullOrEmpty(htmldoc))
|
||||
|
Loading…
Reference in New Issue
Block a user