PDA

View Full Version : سوال: جستجو در گوگل



behnam3000
سه شنبه 13 شهریور 1397, 09:47 صبح
سلام دوستان
میخوام بر اساس یک کلمه در گوگل جستجو کنم و سایت هایی که داری Ads هستن رو در یک لیست نمایش بدم میشه لطفا بهم کمک کنید .
سایت های دارای Ads معمولا با https://www.googleadservices.com/pagead/ شروع میشوند(بعد وارد سایت مورد نظر میشند) نمونه رو در پایین گذاشتم میتونین ببینید
متشکر از برنامه نویسان فعال
148808

behnam3000
سه شنبه 13 شهریور 1397, 18:06 عصر
private void btnstarts_Click(object sender, EventArgs e)

{

{
WebBrowser fg = new WebBrowser();
lbshow.Items.Clear();
StringBuilder sb = new StringBuilder();
byte[] ResultsBuffer = new byte[16384];
string txtres;
string sfg = txturl.Text;
txtres = sfg.Replace(" ", "+");
string SearchResults = "http://google.com/search?q=" + txtres;
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(SearchResults);
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
webBrowser1.Navigate("http://google.com/search?q="+ HttpUtility.UrlEncode(txturl.Text ));


Stream resStream = response.GetResponseStream();
string tempString = null;
int count = 0;
do
{
count = resStream.Read(ResultsBuffer, 0, ResultsBuffer.Length);
if (count != 0)
{
tempString = Encoding.ASCII.GetString(ResultsBuffer, 0, count);
sb.Append(tempString);
}
}

while (count > 0);
string sbb = sb.ToString();

HtmlAgilityPack.HtmlDocument html = new HtmlAgilityPack.HtmlDocument();
html.OptionOutputAsXml = true;
html.LoadHtml(sbb);
HtmlNode doc = html.DocumentNode;

foreach (HtmlNode link in doc.SelectNodes("//a[@href]"))
{
string hrefValue = link.GetAttributeValue("href", string.Empty);
if (!hrefValue.ToString().ToUpper().Contains("GOOGLE") && hrefValue.ToString().Contains("/url?q=") && hrefValue.ToString().ToUpper().Contains("HTTPs://"))
{
int index = hrefValue.IndexOf("&");
if (index > 0)
{
hrefValue = hrefValue.Substring(0, index);
lbshow.Items.Add(hrefValue.Replace("/url?q=", ""));
}
}
}
}
}


با توجه به این کد کجاشو تغییر بدم که فقط سایت های AD داره کنارش بیاد
بالا هم گفتم سایت هایی که AD داره کنارشون
https://www.googleadservices.com/pagead (https://www.googleadservices.com/pagead/)
به این لینک اول منتقل میشند
لطفا راهنمایی کنید

behnam3000
شنبه 17 شهریور 1397, 00:27 صبح
ینی کسی نبود جواب من و بده خدا وکیلی چرا هیچکی جواب سوالای من و نمیده آخه چندین باره میپرسم ولی کسی پاسخگو نیست

ramtinak
شنبه 17 شهریور 1397, 12:57 عصر
سلام،
byte[] ResultsBuffer = new byte[16384]; string txtres;
string sfg = "خرید بلیط";
txtres = sfg.Replace(" ", "+");
//view-source:https://www.google.com/search?client=opera&rls=x64&q=خرید+بلیط&sourceid=opera&ie=UTF-8&oe=UTF-8
string SearchResults = "http://google.com/search?client=opera&rls=x64&q=" + txtres + "&sourceid=opera&ie=UTF-8&oe=UTF-8";
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(SearchResults);
request.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8";
request.Referer = "https://www.google.com/";
request.UserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36 OPR/54.0.2952.71";
HttpWebResponse response = (HttpWebResponse)request.GetResponse();




Stream resStream = response.GetResponseStream();
string tempString = null;
int count = 0;
do
{
count = resStream.Read(ResultsBuffer, 0, ResultsBuffer.Length);
if (count != 0)
{
tempString = Encoding.UTF8.GetString(ResultsBuffer, 0, count);
sb.Append(tempString);
}
}


while (count > 0);
string sbb = sb.ToString();


var regex = new Regex(@"href=['""]([^ '""]+?)['""]", RegexOptions.IgnoreCase);
var urlList = regex.Matches(sbb);
foreach (Match item in urlList)
{
var val = item.Groups[1].Value;
if (!val.ToLower().Contains("google.com") &&
val.ToLower().Contains("http")
// خط مورد نیازت
&& val.ToLower().Contains("googleadservices.com/pagead"))
{
var url = val.Substring(val.LastIndexOf("http"));


lbshow.Items.Add(url);
}
}

behnam3000
جمعه 23 شهریور 1397, 12:58 عصر
سلام،
byte[] ResultsBuffer = new byte[16384]; string txtres;
string sfg = "خرید بلیط";
txtres = sfg.Replace(" ", "+");
//view-source:https://www.google.com/search?client=opera&rls=x64&q=خرید+بلیط&sourceid=opera&ie=UTF-8&oe=UTF-8
string SearchResults = "http://google.com/search?client=opera&rls=x64&q=" + txtres + "&sourceid=opera&ie=UTF-8&oe=UTF-8";
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(SearchResults);
request.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8";
request.Referer = "https://www.google.com/";
request.UserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36 OPR/54.0.2952.71";
HttpWebResponse response = (HttpWebResponse)request.GetResponse();




Stream resStream = response.GetResponseStream();
string tempString = null;
int count = 0;
do
{
count = resStream.Read(ResultsBuffer, 0, ResultsBuffer.Length);
if (count != 0)
{
tempString = Encoding.UTF8.GetString(ResultsBuffer, 0, count);
sb.Append(tempString);
}
}


while (count > 0);
string sbb = sb.ToString();


var regex = new Regex(@"href=['""]([^ '""]+?)['""]", RegexOptions.IgnoreCase);
var urlList = regex.Matches(sbb);
foreach (Match item in urlList)
{
var val = item.Groups[1].Value;
if (!val.ToLower().Contains("google.com") &&
val.ToLower().Contains("http")
// خط مورد نیازت
&& val.ToLower().Contains("googleadservices.com/pagead"))
{
var url = val.Substring(val.LastIndexOf("http"));


lbshow.Items.Add(url);
}
}

سلام دوست عزیز دلیل این ارور چیه ؟
http://uupload.ir/files/nntm_2018-09-14_13h21_40.png

behnam3000
شنبه 24 شهریور 1397, 08:08 صبح
سلام خدمت دوستان برنامه نویس من با تغییراتی که دوست عزیز ramtinak فقط مشکل اینجاست که بعضی از سایت هارو 4 بار آورده و تقریبا فقط صفحه اول رو تو لیست میاره من میخوام هر چند صفحه هست تو جستجو گوگل رو برام بیاره تو لیست
با تشکر از برنامه نویسان فعال

148869