精华内容
下载资源
问答
  • js爬取网页文字图片 html爬取网页信息博主的话功能简述运行效果项目代码代码简述 博主的话 可以爬取许多图片网站上的图片(一些很完善的网站不可以)。声明:本网页代码仅供朋友们学习使用,一 切商用等事项大家...

    js爬取网页文字图片 html爬取网页信息

    博主的话

    	可以爬取许多图片网站上的图片(一些很完善的网站不可以)。声明:本网页代码仅供朋友们学习使用,一
    切商用等事项大家一定注意,而且我们身为开发者更应有版权意识。
    

    功能简述

    	我是在网页上用js写的,因为一些原因只可以用IE浏览器运行。
    	主要功能是:输入一串网站地址到input框,点击检索。会自动爬取本网页页面里面的图片并且显示出图片
    的长和宽。此外,也会对网页里面的文字进行粗略的提取。
    

    运行效果

    1’ 将爬取此页面的图片
    在这里插入图片描述
    2’ 粘贴网址,点击查找图片即可
    在这里插入图片描述

    项目代码

    有言在先,只提供 JS爬虫.html 部分的代码。css部分不提供了。css很简单,大家可以对照html部分根据自己的爱好设置。锻炼前端能力。
    如果大家真的是急用,下载地址:https://download.csdn.net/download/qq_43592352/12368535

    此为项目文件。
    在这里插入图片描述

    <html>
    <head>
        <title>JS爬虫</title>
        <link rel="stylesheet" type="text/css" href="css/style.css"/>
        <script src="jquery-3.3.1.js" type="text/javascript"></script>
    </head>
    <body>
        <div id="container"></div>
            <div id="input_area">
                <span style="color: white;font-size:20px">输入网址:
                </span><input type="text" id="url">
                <input type="button" id="check" onclick="getSource()" value="提取文字">
                <input type="button" id="check" value="查找图片" onclick="check_img()">
            <textarea rows="30" cols="100" id="source"></textarea>
        </div>
    
        <div id="pic_container">
            <div id="picCon_1" class="picConClass">
            </div>
            <div id="picCon_2" class="picConClass"></div>
            <div id="picCon_3" class="picConClass"></div>
            <div id="picCon_4" class="picConClass"></div>
        </div>
        
            
            
        
    </body>
    <script type="text/javascript">
    //用于创建XMLHttpRequest对象
    function createXmlHttp() {
        //根据window.XMLHttpRequest对象是否存在使用不同的创建方式
        if (window.XMLHttpRequest) {
           xmlHttp = new XMLHttpRequest();                  //FireFox、Opera等浏览器支持的创建方式
        } else {
           xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");//IE浏览器支持的创建方式
        }
    }
    
    //直接通过XMLHttpRequest对象获取远程网页源代码
    function getSource() {
        var url = document.getElementById("url").value;             //获取目标地址信息
        //地址为空时提示用户输入
        if (url == "") {
            alert("请输入网页地址。");
            return;
        }
    
        document.getElementById("source").value = "正在加载……";   //提示正在加载
        createXmlHttp();                                            //创建XMLHttpRequest对象
        xmlHttp.onreadystatechange = writeSource;                   //设置回调函数
        xmlHttp.open("GET", url, true);
        xmlHttp.send(null);
    }
    
    //将远程网页源代码写入页面文字区域
    function writeSource() {
        if (xmlHttp.readyState == 4) {
            document.getElementById("source").value = xmlHttp.responseText;
        }
    }
    
    function backposi(str,num){
        var n=0;
        for(var i=str.length;i>=0;i--)
            if(str.charAt(i)=='/')
                {
                    n++;
                    if(n==num) return i;
                }
        
    }
    
        var keyUrl=new Array();
        function check_img(){//匹配出img字符串
            var url = document.getElementById("url").value; 
            var key=xmlHttp.responseText;
            keyUrl=key.match(/<img src=(.*?)>/g);
            //第一次匹配出src后的字符
            for(var i=0;i<keyUrl.length;i++){
                var n=keyUrl[i].length;
                var key=keyUrl[i];
                var posi1=0,posi2=0;
                for(var j=0;j<n;j++){
                    if(key.charAt(j)=='\"'&&posi1==0) {posi1=j;continue;}
                    if(key.charAt(j)=='\"'&&posi2==0) {posi2=j;break;}
                }
                keyUrl[i]=keyUrl[i].substring(posi1+1,posi2);
            }
            //第二次对url的相对路径、绝对路径匹配
            for(var i=0;i<keyUrl.length;i++){
                var num1=(keyUrl[i].substring(0,3).split('/')).length-1;
                var num2=(url.split('/')).length-1;
                if(num1==num2) {keyUrl[i]=keyUrl[i].substring(2,keyUrl[i].length);}
                else {
                    if(num1==1){keyUrl[i]=url.substring(0,backposi(url,2))+keyUrl[i].substring(0,keyUrl[i].length);}
                }
            }
            increase_img();check_text();
        }
    
        var imgflag=0;
        function increase_img(){
            var div=$("<div class='pic'></div>");
            var text=$("<text></text>");
            var img=document.createElement("img");
            img.src=keyUrl[imgflag];
            var x,y;
            img.onload = function(){
                x=img.width;y=this.height;
                text.append(x+"*"+y+"px");
                
                if(x>360){
                        img.height=y/x*360;
                        img.width=360;
                    }
                }
            if(imgflag%4==0)
                {
                    $("#picCon_1").append(div);
                    div.append(img);div.append('</br>');
                    div.append(text);
                }
            else if(imgflag%4==1)
                {
                    $("#picCon_2").append(div);
                    div.append(img);div.append('</br>');
                    div.append(text);
                }
            else if(imgflag%4==2)
                {
                    $("#picCon_3").append(div);
                    div.append(img);div.append('</br>');
                    div.append(text);
                }
            else if(imgflag%4==3)
                {
                    $("#picCon_4").append(div);
                    div.append(img);div.append('</br>');
                    div.append(text);
                }
            imgflag++;
            if(imgflag-1<keyUrl.length)
                setTimeout("increase_img()",200);
            else
                imgflag=0;
        }
    
    function check_text(){
        var key=xmlHttp.responseText.match(/>(.*?)</g);
        for(var i=0;i<key.length;i++){
            if(key[i].length==3) key.splice(i,1);
            else {
                key[i]=key[i].substring(1,key[i].length-1);
            }
        }
        document.getElementById("source").value =key;
    }
    
    </script>
    </html>
    

    代码简述

    首先,根据输入的网站Url来获取该网址的源代码,储存在xmlHttp.responseText中;

    其次,通过用正则表达式将形如< img />的字符串全部提取,然后再定义函数提取出img标签中src的值。这时,src的值有的是绝对定位:http://www.xxx.com/xxx.png, 而有的是相对定位://img/xxx.png。所以此时要对相对定位的字符增加http://xxx.xxx.com头。

    然后,再创建img标签,把这些图片放到网页中。

    最后,用css小小的美化一下,一个简单的爬取工具就完成啦。大家有疑惑的可以问我哦。

    2019-5-28

    展开全文
  • 用Python进行爬取网页文字的代码:#!/usr/bin/python# -*- coding: UTF-8 -*-import requestsimport re# 下载一个网页url = 'https://www.biquge.tw/75_75273/3900155.html'# 模拟浏览器发送http请求response = ...

    5ec744e77041e166.jpg

    用Python进行爬取网页文字的代码:#!/usr/bin/python

    # -*- coding: UTF-8 -*-

    import requests

    import re

    # 下载一个网页

    url = 'https://www.biquge.tw/75_75273/3900155.html'

    # 模拟浏览器发送http请求

    response = requests.get(url)

    # 编码方式

    response.encoding='utf-8'

    # 目标小说主页的网页源码

    html = response.text

    print(html)

    1、编写爬虫思路:

    确定下载目标,找到网页,找到网页中需要的内容。对数据进行处理。保存数据。

    2、知识点说明:

    1)确定网络中需要的信息,打开网页后使用F12打开开发者模式。

    在Network中可以看到很多信息,我们在页面上看到的文字信息都保存在一个html文件中。点击文件后可以看到response,文字信息都包含在response中。

    对于需要输入的信息,可以使用ctrl+f,进行搜索。查看信息前后包含哪些特定字段。

    对于超链接的提取,可以使用最左边的箭头点击超链接,这时Elements会打开有该条超链接的信息,从中判断需要提取的信息。从下载小说来看,在目录页提取出小说的链接和章节名。

    2)注意编码格式

    输入字符集一定要设置成utf-8。页面大多为GBK字符集。不设置会乱码。

    展开全文
  • 今天我教大家学习网络爬虫,这个爬虫能够爬取网页文本内容,提高大家浏览网页的速度。下面我把代码贴出,大家仔细研究:from urllib import request, parsefrom urllib.parse import quoteimport stringimport ...

    大家好,我是咿哑呀。今天我教大家学习网络爬虫,这个爬虫能够爬取网页文本内容,提高大家浏览网页的速度。下面我把代码贴出,大家仔细研究:

    from urllib import request, parse

    from urllib.parse import quote

    import string

    import chardet

    from bs4 import BeautifulSoup

    import re

    import time

    182355bex5dpbbxx5x55pa.jpg

    class spider:

    def __init__(self, my_root_url, title_tag, con_tag, OutputFile):

    self.new_urls = set() # 待爬取的url

    self.old_urls = set() # 已爬取的url

    self.datas = [] # 存放搜集的数据

    self.add_new_url(my_root_url)

    count = 1

    while self.has_new_url():

    try:

    new_url = self.get_new_url()

    print('%d、爬取 %s' % (count, new_url))

    html_context = self.download(new_url)

    new_urls, new_data = self.get_new_urls_data(new_url, html_context, title_tag, con_tag)

    self.add_new_urls(new_urls)

    self.output_html(new_data, OutputFile)

    count += 1

    time.sleep(1)

    except():

    print("爬取失败")

    def download(self, new_url):

    if new_url is None:

    return None

    headers = ("User-Agent",

    "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36 Edge/15.15063")

    opener = request.build_opener()

    opener.addheaders = [headers]

    request.install_opener(opener)

    url_ = quote(new_url, safe=string.printable)

    if request.urlopen(url_).getcode() != 200:

    return None

    else:

    html = request.urlopen(url_).read()

    charset = chardet.detect(html)['encoding']

    return html.decode(charset, 'ignore')

    182355cg5gi9ujz9wb9kaw.jpg

    def output_html(self, new_data, OutputFile):

    if new_data is None:

    return

    self.datas.append(new_data)

    for data in self.datas:

    if data['title'] and data['con'] and data['url']:

    fout = open(OutputFile+'\\'+data['title'].replace(' ', '').replace('\n','')+'.txt', 'w', encoding='utf8')

    fout.write('%s' % data['title'].replace(' ', '').replace('\n',''))

    fout.write('%s' % data['con'].replace(' ', ''))

    fout.write('(来源:%s)' % data['url'])

    fout.close()

    def get_new_urls_data(self, page_url, html_context, title_tag, con_tag):

    if page_url is None or html_context is None:

    return

    new_urls = set()

    red_data = {}

    soup = BeautifulSoup(html_context, "html.parser")

    pat = re.compile('.htm|.asp')

    links = soup.find_all(href=pat)

    for link in links:

    if page_url not in link["href"]:

    new_url = link["href"]

    new_full_url = parse.urljoin(page_url, new_url)

    new_urls.add(new_full_url)

    red_data['url'] = page_url

    if soup.find(class_=title_tag[0]):

    title_node = soup.find(class_=title_tag[0])

    if title_node.get_text():

    red_data['title'] = title_node.get_text()

    else:

    red_data['title'] = ""

    else:

    red_data['title'] = ""

    con_node = soup.find(class_=con_tag[0])

    if con_node:

    red_data['con'] = con_node.get_text()

    else:

    red_data['con'] = ""

    return new_urls, red_data

    182356e5ae9s56n39fnz5s.jpg

    def add_new_url(self, my_root_url):

    if my_root_url is None:

    return

    if my_root_url not in self.new_urls and my_root_url not in self.old_urls:

    self.new_urls.add(my_root_url)

    def add_new_urls(self, urls):

    if urls is None or len(urls) == 0:

    return

    for url in urls:

    self.add_new_url(url)

    def has_new_url(self):

    return len(self.new_urls) != 0

    def get_new_url(self):

    new_url = self.new_urls.pop()

    self.old_urls.add(new_url)

    return new_url

    182356du8mur9187027zrm.jpg

    if __name__ == "__main__":

    root_url = "http://www.******.cn"

    #

    ...

    标题式样

    title_tags = ['page_bt']

    #

    正文式样

    con_tags = ['page_wznr_2']

    output_dir = 'out'

    spider(root_url, title_tags, con_tags, output_dir)

    运行这个脚本后,爬取的内容就全部在在目录out下啦。如果这篇文章对你有用,请点赞、转发、收藏、评论,如果喜欢我的文章,请搜索并关注“咿哑呀”,我将分享更多文章给大家。

    本文仅代表作者个人观点,不代表SEO研究协会网官方发声,对观点有疑义请先联系作者本人进行修改,若内容非法请联系平台管理员,邮箱cxb5918@163.com。更多相关资讯,请到SEO研究协会网www.seoxiehui.cn学习互联网营销技术请到巨推学院www.jutuiedu.com。

    展开全文
  • 【摘要】爬虫作为python众多功能中的其中一种,有着不可或缺的地位,那么用python如何爬取网页文字?这样的代码就能轻松搞定,这些内容也许对python学习有帮助,毕竟实践出真知,所以你要知道用python如何爬取网页...

    【摘要】爬虫作为python众多功能中的其中一种,有着不可或缺的地位,那么用python如何爬取网页文字?这样的代码就能轻松搞定,这些内容也许对python学习有帮助,毕竟实践出真知,所以你要知道用python如何爬取网页文字?这样的代码就能轻松搞定。

    用Python爬行网页文本的代码:

    #!/usr/bin/python

    # -*- coding: UTF-8 -*-

    import requests

    import re

    # 下载一个网页

    url = 'https://www.biquge.tw/75_75273/3900155.html'

    # 模拟浏览器发送http请求

    response = requests.get(url)

    # 编码方式

    response.encoding='utf-8'

    # 目标小说主页的网页源码

    html = response.text

    print(html)

    一、用python如何爬取网页文字——写一个爬虫的想法:

    确定下载目标,找到网页,并在网页中找到所需的内容。处理数据。保存数据。

    二、用python如何爬取网页文字——知识点描述:

    1) 确定网络中所需的信息,打开网页并使用F12打开开发人员模式。

    你可以在网络上看到很多信息。我们在页面上看到的文本信息保存在一个HTML文件中。单击文件后,您可以看到响应,并且文本信息包含在响应中。

    对于要输入的信息,可以使用Ctrl+F进行搜索。查看信息前后包含哪些特定字段。

    对于超链接提取,可以使用最左边的箭头单击超链接。此时,元素将打开带有超链接的信息并判断要提取的信息。从小说下载的角度出发,从目录页中提取小说的链接和章节名。

    2) 注意编码格式

    输入字符集必须设置为UTF-8。大多数页面是GBK字符集。如果不设置,代码就会混乱。

    以上就是《用python如何爬取网页文字?这样的代码就能轻松搞定》的全部内容,这些python的实践方法学会了,你的python一定会突飞猛进,环球网校的小编也祝大家python学习之路顺利。如果你想知道更多的python编程知识,可以点击下方资料下载链接。

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

    2020-11-19 09:18:10
    @ApiOperation(value = "获取网页文字内容") @SysLog("获取网页文字内容") @GetMapping("/getUrlContent") public Res<String> getUrlContent(String url) throws IOException { Resp<JSONObject> ...
  • 爬取网页内容时,比如爬取QQ音乐的歌词时,有时候会遇到一些看似奇怪的字, 看似是乱码,但是又不像,要想把它还原成真实的字符,也比较简单。
  • 用Python进行爬取网页文字的代码:#!/usr/bin/python# -*- coding: UTF-8 -*-import requestsimport re# 下载一个网页url = 'https://www.biquge.tw/75_75273/3900155.html'# 模拟浏览器发送http请求response = ...
  • 用Python进行爬取网页文字的代码: #!/usr/bin/python # -*- coding: UTF-8 -*- import requests import re # 下载一个网页 url = 'https://www.biquge.tw/75_75273/3900155.html' # 模拟浏览器发送http请求 ...
  • url) return all_url_list def get_title(son_url): # 判断该网页是否为校园招聘 html = requests.get(son_url).content.decode('gbk') explain_text_reg = re.compile(' (.*?) ') explain_text = re.findall...
  • 用Python进行爬取网页文字的代码:#!/usr/bin/python# -*- coding: UTF-8 -*-import requestsimport re# 下载一个网页url = 'https://www.biquge.tw/75_75273/3900155.html'# 模拟浏览器发送http请求response = ...
  • 用Python进行爬取网页文字的代码:#!/usr/bin/python# -*- coding: UTF-8 -*-import requestsimport re# 下载一个网页url = 'https://www.biquge.tw/75_75273/3900155.html'# 模拟浏览器发送http请求response = ...
  • Python爬取网页信息的步骤以爬取英文名字网站(https://nameberry.com/)中每个名字的评论内容,包括英文名,用户名,评论的时间和评论的内容为例。1、确认网址在浏览器中输入初始网址,逐层查找链接,直到找到需要...
  • 利用Jsoup爬取网页 该代码利用了jsoup去爬取网页,代码是网上找的,将他们合并到了一起,不过合并程度有点低。 使用此代码需要下载jsoup的jar包 代码编写工具:IDEA package com.jiu.data.spider; import ...
  • 一、引言在实际工作中,难免会遇到从网页爬取数据信息的需求,如:从微软官网上爬取最新发布的系统版本。很明显这是个网页爬虫的工作,所谓网页爬虫,就是需要模拟浏览器,向网络服务器发送请求以便将网络资源从网络...
  • 我们来写个简单的爬虫####需要用到的模块需要用到python的urllib和lxml模块,urllib为python的自带模块,lxml需要自行安装:pip install lxml简单介绍urllib和lxml的使用我们使用urllib来爬去一个网页比如:In [1]: ...
  • Python爬取网页内容,其实大部分爬取都是在其源代码中寻找代码规律。 举个例子吧: 如:小说名的章节节数,第1~100章,我们找的话就是找第[ ]章中的[ ]内容,然后根据章节网页链接寻找规律进行跳转,把有规律的数字...
  • python爬取网页图片

    2021-07-30 20:22:44
    python爬取网页图片 爬取数据一般分为三步: 爬取网页信息 解析爬取来的数据 保存数据 找到自己想要爬取的网页,找到user-agent 代码实现 首先导入需要用到的包 from bs4 import BeautifulSoup #网页解析,获取...
  • 这篇文章主要是介绍Python爬取网页信息时,经常使用的正则表达式及方法。它是一篇总结性文章,实用性比较大,主要解决自己遇到的爬虫问题,也希望对你有所帮助~ 当然如果会Selenium基于自动化测试爬虫、...
  • 爬取方式:requests+bs4 难度:易 基本爬取的内容: 输出:页面中所有的文章的标题、内容、作者、文章分类、时间 对应上图(标题为win10python安装配置selenium 、作者是Gary、文章分类python、时间2020-7-9...
  • Java多线程爬取网页

    2018-09-27 16:12:17
    适合:简单地获取纯文字网页的内容。需要创建子线程or修改爬取网页请在testpc.java中修改,webpc用于获取指定网页内容,runthread用于创建子线程爬虫,testpc则是主线程,用于管理子线程的创建、运行与等待。
  • Python爬虫基础 爬取网页 访问网页

    千次阅读 2021-02-18 20:54:50
    目录一、对爬虫的理解:二、爬取网页1.模仿浏览器2.实例分析(1)代码(2)获取浏览器User-Agent总结 一、对爬虫的理解: 爬虫听上去似乎很高大上,其实简单一句话就是:模仿浏览器对网页进行访问并解析,进一步从中...
  • 如何快速爬取网页数据(干货)

    万次阅读 多人点赞 2019-09-11 17:25:48
    摘要:对于程序员或开发人员来说,拥有编程能力使得他们构建一个网页数据爬取程序...“网页数据” 作为网站用户体验的一部分,比如网页上的文字,图像,声音,视频和动画等,都算是网页数据。 对于程序员或开发人...
  • 爬取网页标题

    2020-05-03 20:18:52
    今天的这个爬虫小项目很简单,看标题就知道,只是简简单单的爬取一个网页的标题罢了,虽然简单,但是我也发现了几个有趣的地方:那就是python2和python3的一些小区别。 对于这个问题,我相信对于像我这种刚入...
  • java爬取网页内容

    2020-03-24 15:34:40
    java爬取网页内容主要使用jsoup工具 maven依赖: <!--https://mvnrepository.com/artifact/org.jsoup/jsoup--> <dependency> <groupId>org.jsoup</groupId> <artifactId>jsoup<...
  • 爬取网页数据代码 解析代码 解析介绍 完整代码 介绍 1.爬取通过org.jsoup和HttpClients实现 2.爬取多页内容的时候进行循环,多页进行爬取 3.爬取来数据解析到jsonoup 4.取回数据使用文件保存直接保存到...
  • 利用xpath爬取网页

    千次阅读 2018-07-10 22:21:19
    xpath应该是爬取网页最简单的方法啦,因为你需要要懂xpath,可以直接通过浏览器来获取你想要的内容。以Chrome为例,按f12检查网页,用箭头点击自己想要的地方,比如我想提取出“故宫博物院”的xpath地址,右击,点击...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 10,474
精华内容 4,189
关键字:

爬取网页文字