精华内容
下载资源
问答
  • iOS 通过url获取网页文字内容

    千次阅读 2018-04-02 16:46:53
    今天突然有一个需求, 第二个页面要显示...这里就不详细说怎么拿到title或者图片之类的了,我的需求是拿到文章内容的文字部分拿来显示三排就够了:①拿到网页内容,很简单一句代码NSString *htmlString = [NSString str...

        今天突然有一个需求, 第二个页面要显示一个网页,第一个页面要显示图片标题或者简介等内容,但是!后台仅仅返回了一个URL!这就意味着我必须在第一个页面自己通过URL拿到网页内部我需要的内容.这里就不详细说怎么拿到title或者图片之类的了,我的需求是拿到文章内容的文字部分拿来显示三排就够了:

    ①拿到网页内容,很简单一句代码

    NSString *htmlString = [NSString stringWithContentsOfURL:[NSURL URLWithString:@"你的完整URL"] encoding:NSUTF8StringEncoding error:nil];

    ②正则去除网络标签,一个方法

    - (NSString *)getZZwithString:(NSString *)string{
        NSRegularExpression *regularExpretion=[NSRegularExpression regularExpressionWithPattern:@"<[^>]*>|\n" options:0 error:nil];
        string = [regularExpretion stringByReplacingMatchesInString:string options:NSMatchingReportProgress range:NSMakeRange(0, string.length) withTemplate:@""];
        return string;
    }

    ③最后 

    NSString *contentStr = [self getZZwithString:htmlString];

    contentStr就是我要用于显示的文本了.此方法拿到的文本是url对应网页的文本,所以根据需求自由截取长短.

    总结:以上主要是在不需要加载网页的情况下使用的,方便快捷.如果本页面本来就有webView,那就可以通过js代码来获取相应的内容:

    - (void)webViewDidFinishLoad:(UIWebView *)webView {
    
    UIWebView *web = webView;
    
    //获取所有的html
    
    NSString *allHtml = @"document.documentElement.innerHTML";
    
    //获取网页title
    
    NSString *htmlTitle = @"document.title";
    
    //获取网页的一个值
    
    NSString *htmlNum = @"document.getElementById('title').innerText";
    
    //获取到得网页内容
    
    NSString *allHtmlInfo = [web stringByEvaluatingJavaScriptFromString:allHtml];
    
    NSLog(@"%@",allHtmlInfo);
    
    NSString *titleHtmlInfo = [web stringByEvaluatingJavaScriptFromString:htmlTitle];
    
    NSLog(@"%@",titleHtmlInfo);
    
    NSString *numHtmlInfo = [web stringByEvaluatingJavaScriptFromString:htmlNum];
    
    NSLog(@"%@",numHtmlInfo);
    
    }
    
    此处引用流浪在简书的文章


    展开全文
  • 网页文字抓取工具是一款用于抓取网页文字的软件,一键获取网页文字,快来下载体验吧。 软件功能 网页禁止复制文字怎么办?通过网页“源代码”获取文字又得手工去掉html代码很麻烦,如何解决?请使用“网页文字抓取...
  • 网页文字抓取

    2013-11-25 20:56:04
    能够抓取网页文字,在屏蔽鼠标右键功能的网页上能顺利抓取需要的文字。
  • 网页文字抓取器 1.0 绿色版 》无限制抓取网页上的文字
  • 网页文字抓取

    2014-03-03 00:40:52
    可以抓取网络上的文字,直接把软件的按钮拖到网页上,内容就被抓取到剪切板中了。
  • 网页文字抓取器.rar

    2015-07-23 18:35:56
    网页文字抓取
  • 网页文字抓取器 1.8

    2009-02-23 17:30:28
    可以让你轻松抓取和复制那些禁止选择和拷贝的网页上的文字
  • 网页文字抓取器 1.3

    2009-02-23 17:29:44
    可以让你轻松抓取和复制那些禁止选择和拷贝的网页上的文字
  • 内存抓取速度快
  • 抓取网页中正文有用见容,对大部分限制拷贝网页轻松抓取网页文字抓取工具去除打开锁定主页。适合所有的html类文字。目的是为了方便大家复制一些网页资料。
  • 网页抓取软件Flash css 文字图片 网页抓取软件Flash css 文字图片 网页抓取软件Flash css 文字图片 网页抓取软件Flash css 文字图片 网页抓取软件Flash css 文字图片 网页抓取软件Flash css 文字图片 网页抓取软件...
  • 一款完全免费的网页文字抓取器,完美解决有些网页中的文字不可以复制的问题,很好用!退出时会弹出作者的博客页面,不过总比收费的好,支持下!
  • 网页文字抓取器 1.4

    2013-11-25 14:09:52
    不错给即使软件显示未注册,但所有功能和时间限制都已经破除
  • iOS 抓取网页数据,获取网页图片和文字,iOS 抓取网页数据,获取网页图片和文字
  • 想在网页中添加一些彩色渐变色的文字怎么办?一个字一个字地定义颜色代码?其实网上有一些在线服务可以帮助我们轻松得到这些彩色文字网页代码。首先登录http://www.chami.com/tc/网站,在"Type the text to ...

    想在网页中添加一些彩色渐变色的文字怎么办?一个字一个字地定义颜色代码?其实网上有一些在线服务可以帮助我们轻松得到这些彩色文字的网页代码。

    首先登录http://www.chami.com/tc/网站,在"Type the text to colorize(输入文字)"框中输入需要的文字,然后在 "Click on a color to start with(选择一种起始颜色) "框中选择一种颜色,这时网页会自动刷新,出现" Click on a color to end with(选择结束时的颜色)"选择框,选择一种合适的颜色。选择终止颜色后网页同样会自动刷新,这时在最上方会出现"Preview(预览)",下方显示的即为文字颜色效果(如图)。

    如果觉得不满意可以重新选择,如果觉得满意,将"Copy and paste the following HTML code to your page"框中的HTML代码拷贝后放入个人主页或者Blog空间合适的位置即可。

    同时,你还可以对字体大小"Font Size(字体大小)"和"Font name(字体类型)"进行选择,支持的字体类型有Arial,Courier, Helvetica, Impact, Lucida Console和Verdana七种。

    展开全文
  • 爬取网页文字内容

    2020-11-19 09:18:10
    @ApiOperation(value = "获取网页文字内容") @SysLog("获取网页文字内容") @GetMapping("/getUrlContent") public Res<String> getUrlContent(String url) throws IOException { Resp<JSONObject> ...

    controller

    @ApiOperation(value = "获取网页文字内容")
    	@SysLog("获取网页文字内容")
    	@GetMapping("/getUrlContent")
    	public Res<String> getUrlContent(String url) throws IOException {
            Resp<JSONObject> resp = SpiderUtil.getActicle(url);
            if (resp.isSuccess()) {
            	List<Map<String, Object>> tagsList=(List<Map<String, Object>>) resp.getBody().get("tags");
            	List<Map<String, Object>> returnList=Lists.newArrayList();
            	for (Map<String, Object> map : tagsList) {
    				if (map.get("name").equals("span") && map.get("text").equals("收录于话题")) {
    					break;
    				}
    				returnList.add(map);
    			}
            	resp.getBody().put("tags", returnList);
                System.out.println(resp.getBody());
                return Res.ok(resp.getBody().toString());
            } else {
                System.out.println(resp.getMsg());
                return Res.failed(resp.getMsg());
            }
    	}
    

    文章爬取工具类 SpiderUtil

    package com.clina.matron.util;
     
    import java.util.HashMap;
    import java.util.LinkedHashMap;
    import java.util.Map;
    
    import org.jsoup.Jsoup;
    import org.jsoup.nodes.Attribute;
    import org.jsoup.nodes.Attributes;
    import org.jsoup.nodes.Document;
    import org.jsoup.nodes.Element;
    import org.jsoup.select.Elements;
    
    import com.alibaba.fastjson.JSONArray;
    import com.alibaba.fastjson.JSONObject;
     
    /**
     * 文章爬取工具类
     *
     * @since 2020/01/04
     */
    public class SpiderUtil {
     
        // 微信公众号文章域名
        private static final String WX_DOMAIN = "https://mp.weixin.qq.com";
        // 文章返回前端统一key常量
        private static final String KEY_TITLE = "title"; // 文章标题
        private static final String KEY_COVER_URL = "coverLink"; // 文章封面图链接
        private static final String KEY_REFER_NAME = "referName"; // 文章出处作者
        private static final String KEY_REFER_URL = "referLink"; // 文章出处链接
        private static final String KEY_TAGS = "tags"; // 文章内容
        private static final String KEY_NAME = "name"; // 标签名称
        private static final String KEY_TEXT = "text"; // 文本信息
        private static final String KEY_HREF = "href"; // a标签链接
     
        /**
         * 测试主方法
         */
        public static void main(String args[]) {
            String url = "https://mp.weixin.qq.com/s/w3SFZ-PEC0kpnX-tmStRNQ";
            Resp<JSONObject> resp = getActicle(url);
            if (resp.isSuccess()) {
                System.out.println(resp.getBody());
            } else {
                System.out.println(resp.getMsg());
            }
        }
        
        /**
         * 根据文章链接抓取文章内容
         * 
         * @param url 文章链接
         * @return 文章内容
         */
        public static Resp<JSONObject> getActicle(String url) {
            // 检测链接是否合法
            String msg = checkUrl(url);
            if (msg != null) {
                return Resp.error(msg);
            }
            // 请求与响应
            String resp = HttpTool.get(url, getWxHeaderMap());
            if (resp == null || resp.trim().length() == 0) {
                return Resp.error("文章获取失败,请检查链接是否正确");
            }
            // 解析
            Resp<JSONObject> acticleResp = getWxActicleContent(resp, url);
            if (acticleResp.isError()) {
                return Resp.error(acticleResp.getMsg());
            }
            return acticleResp;
        }    
     
        /**
         * 检测文章链接是否合法
         */
        public static String checkUrl(String url) {
            if (url == null) {
                return "请输入文章链接";
            }
            if (!url.startsWith(WX_DOMAIN)) {
                return "请输入微信公众号文章链接";
            }
            return null;
        }
     
     
        /**
         * 微信公众号请求头设置
         */
        public static Map<String, String> getWxHeaderMap() {
            Map<String, String> map = new HashMap<>(new LinkedHashMap<>());
            map.put("Accept", "text/html, application/xhtml+xml, image/jxr, */*");
            map.put("Accept-Encoding", "gzip, deflate");
            map.put("Accept-Language", "zh-Hans-CN, zh-Hans; q=0.8, en-US; q=0.5, en; q=0.3");
            map.put("Host", "mp.weixin.qq.com");
            map.put("If-Modified-Since", "Sat, 04 Jan 2020 12:23:43 GMT");
            map.put("User-Agent", "Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko");
            return map;
        }
     
        
        /**
         * 解析微信公众号文章
         * 
         * @param resp 请求文章响应
         * @param url 文章链接
         * @return 文章信息
         */
        public static Resp<JSONObject> getWxActicleContent(String resp, String url) {
            try {
                Document document = Jsoup.parse(resp);
                // 文章出处(作者)
                String referName = document.getElementsByClass("profile_nickname").get(0).text();
                // 文章封面图链接
                String coverUrl = document.select("meta[property=\"og:image\"]").get(0).attr("content");
                // 文章标题
                String title = document.getElementById("activity-name").text();
                // 文章内容
                Element content = document.getElementsByClass("rich_media_area_primary_inner").get(0);
                JSONObject json = new JSONObject(new LinkedHashMap<>());
                json.put(KEY_TITLE, title);
                json.put(KEY_COVER_URL, coverUrl);
                json.put(KEY_REFER_NAME, referName);
                json.put(KEY_REFER_URL, url);
                JSONArray tags = new JSONArray();
                Elements sections = content.select("*");
                for (Element element : sections) {
                    if (element.children().isEmpty()) {
                        getChildTag(element, tags);
                    }
                }
                json.put(KEY_TAGS, tags);
                return Resp.success(json);
            } catch (Exception e) {
                e.printStackTrace();
                return Resp.error("文章解析失败");
            }
        }
     
        public static void getChildTag(Element element, JSONArray tags) {
            JSONObject tag = new JSONObject(new LinkedHashMap<>());
            String tagName = element.tagName();
            tag.put(KEY_NAME, tagName);
            switch (tagName) {
            case "span": {
                tag.put(KEY_TEXT, element.text());
                tags.add(tag);
                break;
            }
            case "img": {
                Attributes attrs = element.attributes();
                if (attrs != null) {
                    for (Attribute attr : attrs) {
                        tag.put(attr.getKey().replace("-", ""), attr.getValue());
                    }
                }
                tags.add(tag);
                break;
            }
            case "a": {
                tag.put(KEY_HREF, element.attr("href"));
                tag.put(KEY_TEXT, element.attr("textvalue"));
                tags.add(tag);
                break;
            }
            case "br": {
                tags.add(tag);
                break;
            }
            case "p": {
                tag.put(KEY_TEXT, element.text());
                tags.add(tag);
                break;
            }
            default:
                break;
            }
        } 
        
    }
    
    展开全文
  • <br /> ASP.NET 抓取网页内容-文字  ASP.NET 抓取网页内容-图片  ASP.NET 抓取网页内容-Post 数据  ASP.NET 抓取网页内容-防止重定向  ASP.NET 抓取网页内容

          ASP.NET 抓取网页内容-文字

    *                               ASP.NET 抓取网页内容-图片

    *                               ASP.NET 抓取网页内容-Post 数据

    *                               ASP.NET 抓取网页内容-防止重定向

    *                               ASP.NET 抓取网页内容-保持登录状态

    *                               ASP.NET 抓取网页内容-把当前会话带到 WebRequest 

    ASP.NET 中抓取网页内容是非常方便的,而其中更是解决了 ASP 中困扰我们的编码问题。

    需要三个类:WebRequestWebResponseStreamReader

    WebRequestWebResponse 名称空间是:

    System.Net

    StreamReader 的名称空间是:

    System.IO

    核心代码

    WebRequest request = WebRequest.Create("http://www.cftea.com/");
    WebResponse response = request.GetResponse();
    StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.GetEncoding("gb2312"));

    *                               WebRequest 类的 Create 为静态方法,参数为要抓取的网页的网址;

    *                               Encoding 指定编码,Encoding 中有属性 ASCIIUTF32UTF8 等全球通用的编码,但没有 gb2312 这个编码属性,所以我们使用 GetEncoding 获得 gb2312 编码。

    示例

    <%@ Page Language="C#" %>
    <%@ Import Namespace="System.Net" %>
    <%@ Import Namespace="System.IO" %>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

    <script runat="server">
        void Page_Load(object sender, EventArgs e)
        {
            try
            {
                WebRequest request = WebRequest.Create("http://www.cftea.com/");
                WebResponse response = request.GetResponse();
                StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.GetEncoding("gb2312"));
                
                tb.Text = reader.ReadToEnd();
                
                reader.Close();
                reader.Dispose();
                response.Close();
            }
            catch (Exception ex)
            {
                tb.Text = ex.Message;
            }
        }
    </script>

    <html xmlns="http://www.w3.org/1999/xhtml" >
    <head runat="server">
        <title>
    抓取网页内容 - 千一网络</title>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
        <asp:TextBox ID="tb" runat="server" Width="500" Height="300" TextMode="multiLine"></asp:TextBox>
        </div>
        </form>
    </body>
    </html>

    相关阅读

    *                               如何用 Encoding 指定编码

    *                               ASP.NET 中发送邮件(带SMTP 验证、带附件)

    *                               ASP “小偷程序

    *                               WebRequest 发送 CookieReferer

    展开全文
  • 分别用三种方法获取网页的所有连接,其中,方法一可以获取网页的所有连接和连接文字
  • 获取网页页面选中的文字 2.填充至指定文本框 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <script src="../jQuery-...
  • Python 遍历网页代码抓取文字和图片

    千次阅读 2016-04-17 19:48:28
    Python 遍历网页代码抓取文字和图片通过python的几个工具requests,beautifulSoup,json, Pool暴力遍历url抓取内容 获取全量的文字和图片链接 获取图片 获取全量的文字和图片链接#!/usr/bin/python #-*- coding:utf-...
  • 本文是对《AJAX动态网页信息提取原理》的补充,前文总结了两种AJAX网页文字抓取方法:网页文字在加载HTML文档(document)的时候用Javascript代码获取和展现,此Javascript代码在发送load事件之前运行,那么接收到...
  • 原标题:抓取网页数据工具的内容获取方式抓取网页数据的工具在获取内容时,需要对数据内容的标签进行编辑定义,在火车采集器V9中对数据内容标签进行编辑定义,从而获取数据的方法有三类:A).从源码中获取数据B).生成...
  • 网络抓取文字

    2008-06-22 07:56:40
    网页文字抓取软件可抓取禁止选择和拷贝的网页文字
  •  print result.decode("gb2312").encode("UTF-8") #gb2312是网页的编码,我们转换为UTF-8格式 输出结果为: 股票 基金 期货 港股 美股 外汇
  • VB获取网页文字的链接地址

    千次阅读 2009-11-24 21:31:00
    题目: 如何获取网页文字的链接地址 窗口有WebBrowser1,和一个Text1 现在 Private Sub Form_Load() WebBrowser1.Navigate "http://www.baidu.com" End Sub 打开窗体显示百度的首页,要求滑动鼠标到“新闻”时 ...
  • 这里和 获取链接略有不同,不是得到链接到url,而是获取每个链接的文字内容#!/opt/yrd_soft/bin/python importre importurllib2 importrequests importlxml frombs4importBeautifulSoup url='...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 105,517
精华内容 42,206
关键字:

抓取网页文字