Нужна помощь в написании скрипта для загрузки данных из Google Insight с использованием c #
это ссылка для скачивания и требуется логин
http://www.google.com/insights/search/overviewReport?q=test&cmpt=q&content=1&export=2
как мне ввести свое имя пользователя и пароль? нужна помощь, я новичок в C #
Чтобы сделать это, вам нужно сначала подтвердить подлинность , чтобы получить действительный SID для данного сайта Google, который можно использовать для доступа к данным. Вот как вы могли бы добиться этого:
SID
class Program { static void Main(string[] args) { using (var client = new WebClient()) { // TODO: put your real email and password in the request string var response = client.DownloadString("https://www.google.com/accounts/ClientLogin?accountType=GOOGLE&Email=youraccount@gmail.com&Passwd=secret&service=trendspro&source=test-test-v1"); // The SID is the first line in the response var sid = response.Split('\n')[0]; client.Headers.Add("Cookie", sid); byte[] csv = client.DownloadData("http://www.google.com/insights/search/overviewReport?q=test&cmpt=q&content=1&export=2"); // TODO: do something with the downloaded csv file: Console.WriteLine(Encoding.UTF8.GetString(csv)); File.WriteAllBytes("report.csv", csv); } } }
Хорошо, это изменилось за несколько дней.
Теперь вы должны пройти аутентификацию, а не SID.
Итак, код теперь:
class Program { static void Main(string[] args) { using (var client = new WebClient()) { // TODO: put your real email and password in the request string var response = client.DownloadString("https://www.google.com/accounts/ClientLogin?accountType=GOOGLE&Email=youraccount@gmail.com&Passwd=secret&service=trendspro&source=test-test-v1"); // The Auth line var auth = response.Split('\n')[2]; client.Headers.Add("Authorization", "GoogleLogin " + auth); byte[] csv = client.DownloadData("http://www.google.com/insights/search/overviewReport?q=test&cmpt=q&content=1&export=2"); // TODO: do something with the downloaded csv file: Console.WriteLine(Encoding.UTF8.GetString(csv)); File.WriteAllBytes("report.csv", csv); } } }
И теперь это снова работает для меня.