private static async Task startCrawlerasync()
        {
            var url        = "https://twitter.com/BoniekZibi";
            var httpClient = new HttpClient();
            var html       = await httpClient.GetStringAsync(url);

            var htmlDocument = new HtmlDocument();

            htmlDocument.LoadHtml(html);

            var   twitts = new List <Twitt>();
            var   divs   = htmlDocument.DocumentNode.Descendants("div").Where(node => node.GetAttributeValue("class", "").Equals("js-tweet-text-container")).ToList();
            Twitt twitt  = new Twitt();

            foreach (var div in divs)
            {
                twitt.tresc = div.Descendants("TweetTextSize TweetTextSize--normal js-tweet-text tweet-text").FirstOrDefault().InnerText;

                twitts.Add(twitt);
            }

            try
            {
                foreach (Twitt a in twitts)
                {
                    Console.WriteLine();
                }
            }
            catch (Exception e)
            {
                Console.WriteLine("Nie dziala");
            }
        }
        public void PostUpdate(User user, string message)
        {
            // will trucante message as original twitter
            if (message.Length >= 140)
            {
                message = message.Substring(0, 140);
            }

            if (null != user)
            {
                var twitt = new Twitt {Message = message, User = user, Posted = DateTime.Now};
                twitt.SaveAndFlush();
            }
        }
Exemple #3
0
        public async Task checkForPhotosInTwitsByText(string textToSearchFor)
        {
            try
            {
                var stream = Tweetinvi.Stream.CreateFilteredStream(
                    new TwitterCredentials("CY238Vi51lLvDLw8xbhzh2JCu",
                                           "B5Pik3mQ6GebCc214MwXOUmfYQxGUB2rCW7JBV1V7k4jtSx1ht",
                                           "935800346601033729-Dv0QUWtYx73R341AC5jSvqnLFXWI8p3",
                                           "GcsQzEvCuE4ytHp3dx1lfru5L0eEwwdI0HoVOfenhO2Gw"));

                stream.AddTrack(textToSearchFor);

                stream.MatchingTweetReceived += (sender, args) =>
                {
                    var newTwit = new Twitt()
                    {
                        Text       = args.Tweet.FullText,
                        AddingDate = args.Tweet.CreatedAt,
                        Track      = textToSearchFor
                    };

                    var entities = args.Tweet.Entities;
                    if (entities != null && entities.Medias != null && entities.Medias.Any(e => e.MediaType == "photo"))
                    {
                        newTwit.HasImage = true;

                        foreach (var item in entities.Medias.Where(e => e.MediaType == "photo").Select(a => a.MediaURL).ToList())
                        {
                            newTwit.Images.Add(new TwitImage()
                            {
                                Url = item, TwittId = newTwit.Id, Track = newTwit.Track, AddingDate = newTwit.AddingDate
                            });
                        }
                    }

                    _twitsContext.Add(newTwit);
                    _twitsContext.SaveChanges();
                };

                await stream.StartStreamMatchingAnyConditionAsync();

                #region old

                //var client = new HttpClient();

                ////HttpRequestMessage objRequest = new HttpRequestMessage(HttpMethod.Get,
                ////  "https://api.twitter.com/1.1/search/tweets.json?q=%" + textToSearchFor + "&count=" + twittsCount);
                //HttpRequestMessage objRequest = new HttpRequestMessage(System.Net.Http.HttpMethod.Post,
                //    "https://stream.twitter.com/1.1/statuses/filter.json?track=twitter");

                //objRequest.Headers.Add("track", "twitter");
                //objRequest.Headers.Add(HttpRequestHeader.Authorization.ToString(), "Bearer " + accessToken);
                //HttpResponseMessage response = await client.SendAsync(objRequest);

                //if (!response.IsSuccessStatusCode)
                //{ }

                //HttpContent responseContent = response.Content;

                //List<string> photos = new List<string>();
                //using (var reader = new StreamReader(await responseContent.ReadAsStreamAsync()))
                //{

                //    string result = await reader.ReadToEndAsync();
                //    var stuffasds = JsonConvert.DeserializeObject<TwitterApiResponse>(result);


                //    photos = stuffasds.statuses.Where(x => x.entities.media != null)
                //       .SelectMany(x => x.entities.media.Where(a => a.type == "photo")).Select(w => w.media_url).ToList();

                //}
                //return photos;
                #endregion
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }