C# 从范围中抓取文本



我试过这个:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net;
using System.IO;
using System.Net.Sockets;
namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Danish to English: ");
            string tittyfuck = Console.ReadLine();
            Console.Beep();
            WebRequest webRequest = new WebRequest.Create("http://translate.google.com/#da/en/" + tittyfuck);
            WebResponse webResponse = webRequest.GetResponse();
            Stream data = webResponse.GetResponseStream();
            string html;
            using (StreamReader streamReader = new StreamReader(data))
            {
                string line;
                while ((line = streamReader.ReadLine() != null))
                {
                    if (line == "<span class="hps">")
                    {
                        Console.Beep();
                        Console.WriteLine(line);
                    }
                }
            }
        }
    }
}

好的,所以我尝试了一下,但我收到这些错误:

错误 1 "System.Net.WebRequest.Create(System.Uri)"是一个"方法",但像"类型"一样使用 C:\Users\Dylan\AppData\Local\Temporary Projects\ConsoleApplication1\Program.cs 18 52 ConsoleApplication1

错误 2 无法将类型"bool"隐式转换为"字符串" C:\用户\Dylan\AppData\Local\Temporary Projects\ConsoleApplication1\Program.cs 27 32 ConsoleApplication1

正如您可能知道的那样,我正在尝试打开一个请求以 translate.google.com 链接后的文本,然后抓取打印到翻译文本的文本。它基本上是一个翻译器。请帮忙。

第 18 行:

WebRequest webRequest = WebRequest.Create(new URI("http://translate.google.com/#da/en/" + tittyfuck));

第 27 行:

while ((line = streamReader.ReadLine()) != null)

删除新关键字,并设置其他括号。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net;
using System.IO;
using System.Net.Sockets;
namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Danish to English: ");
            string tittyfuck = Console.ReadLine();
            Console.Beep();
            WebRequest webRequest = WebRequest.Create("http://translate.google.com/#da/en/" + tittyfuck);
            WebResponse webResponse = webRequest.GetResponse();
            Stream data = webResponse.GetResponseStream();
            string html;
            using (StreamReader streamReader = new StreamReader(data))
            {
                string line;
                while ((line = streamReader.ReadLine()) != null)
                {
                    if (line == "<span class="hps">")
                    {
                        Console.Beep();
                        Console.WriteLine(line);
                    }
                }
            }
        }
    }
}

你不能以这种方式使用谷歌翻译,因为翻译是由javascript请求的,你可以尝试使用网络浏览器或购买一些字符来使用翻译api。

另一种方法是解析请求(http://translate.google.com/translate_a/t?....)的结果,即json样式

相关内容

  • 没有找到相关文章

最新更新