scrapy 爬取w3school

scrapy是一个从网站中提取结构化数据爬虫框架,简单易用。
内部使用Twisted作为处理网络通信,具有异步特性。

开始构建项目,

scrapy start project my project
#myproject 是项目名称

构建一个框架,

scrapy.cfg
myproject/
    __init__.py
    items.py
    pipelines.py
    settings.py
    spiders/
        __init__.py
        ...

scrapy.cfg 存放的目录被认为是 项目的根目录 。该文件中包含python模块名的字段定义了项目的设置。

定义要爬取的结构化数据

Item 是保存爬取到的数据的容器;其使用方法和python字典类似, 并且提供了额外保护机制来避免拼写错误导致的未定义字段错误。
定义这个字段定义在items.py文件中,

class W3SchoolItem(scrapy.Item):
    # define the fields for your item here like:
    # name = scrapy.Field()

    title = scrapy.Field()
    link = scrapy.Field()
    desc = scrapy.Field()

创建爬虫spider

进入scrapy.cfg 所在目录,运行下面命令,

scrapy genspider myspider
# my spider 是爬虫的名称,可随意定制

编写提取数据的逻辑

进入到spider目录编辑刚刚创建的myspider.py文件

import scrapy
from scrapy.selector import Selector
from w3school.items import W3SchoolItem

class W3schoolSpiderSpider(scrapy.Spider):
    name = "w3school_spider"
    allowed_domains = ["w3school.com.cn"]
    start_urls = ["http://www.w3school.com.cn/xml/xml_syntax.asp"]

    def parse(self, response):
        # 选择器获取页面源码,
        sel = Selector(response)
        # 使用xparh进行筛选,选取所有div中id为navsecond的层所包含的所有div中id为course的ul中ul标签下的,li标签内容,
        sites = sel.xpath('//div[@id="navsecond"]/div[@id="course"]/ul[1]/li')

        # 定义一个items容器
        items = []
        # site的内容包括href为链接,title为标题,
        for site in sites:
            # 成为ie一个item的字典类型
            item = W3SchoolItem()
            # 对每一个site使用xpath抽取出a标签内的text,href,title.
            title = site.xpath('a/text()').extract()
            link = site.xpath('a/@href').extract()
            desc = site.xpath('a/@title').extract()

            item['title'] = [t.encode('utf-8') for t in title]
            item['link'] = [l.encode('utf-8') for l in link]
            item['desc'] = [d.encode('utf-8') for d in desc]
            # 在列表中加入这个字典
            items.append(item)


        return items

选择器Selector

scrapy中可以使用xpathcsshtml中选择数据,

XPath表达式的一些介绍:
1.  /html/head/title: 选择HTML文档中  标签内的  元素
2. /html/head/title/text(): 选择上面提到的 <title> 元素的文字
3. //td: 选择所有的 <td> 元素
4. //div[@class="mine"]: 选择所有具有 class="mine" 属性的 div 元素

</code></pre> 
 <h4>储存数据</h4> 
 <p>在pipelines.py中将取到的item储存在文件中,</p> 
 <pre><code>import codecs
import json


class W3SchoolPipeline(object):
    def __init__(self):
        self.file = codecs.open('w3school_utf-8.json','w',encoding='utf-8')


    def process_item(self, item, spider):
        line = json.dumps(dict(item)) + '\n'

        self.file.write(line.encode('unicode_escape'))
        print(item)

        return item

    def close_spider(self,spider):
        self.file.close()
</code></pre> 
 <h4>配置</h4> 
 <p>在<code>settings.py</code>文件中加入下面代码(其实文件中已经有了只是被注释了)</p> 
 <pre><code>ITEM_PIPELINES = {
   'w3school.pipelines.W3SchoolPipeline': 300,
}
</code></pre> 
 <p>只差最后一步了,</p> 
 <pre><code>scrapy crawl myproejct
</code></pre> 
 <p>等待爬取结束,打开文件就可以看到爬到的数据了!<br> 扫码获取源码,</p> 
 <br> 
 <div class="image-package"> 
  <div class="image-container" style="max-width: 350px; max-height: 280px;"> 
   <div class="image-view"> 
    <a href="http://img.e-com-net.com/image/info10/464c4808a35a4f989c103c7fc70da1d9.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info10/464c4808a35a4f989c103c7fc70da1d9.jpg" width="350" height="280" alt="scrapy 爬取w3school_第1张图片" style="border:1px solid black;"></a> 
   </div> 
  </div> 
  <div class="image-caption">
    PicsArt_03-02-06.50.43.jpg 
  </div> 
 </div> 
</article>
                            </div>
                        </div>
                    </div>
                    <!--PC和WAP自适应版-->
                    <div id="SOHUCS" sid="1232512774131781632"></div>
                    <script type="text/javascript" src="/views/front/js/chanyan.js"></script>
                    <!-- 文章页-底部 动态广告位 -->
                    <div class="youdao-fixed-ad" id="detail_ad_bottom"></div>
                </div>
                <div class="col-md-3">
                    <div class="row" id="ad">
                        <!-- 文章页-右侧1 动态广告位 -->
                        <div id="right-1" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad">
                            <div class="youdao-fixed-ad" id="detail_ad_1"> </div>
                        </div>
                        <!-- 文章页-右侧2 动态广告位 -->
                        <div id="right-2" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad">
                            <div class="youdao-fixed-ad" id="detail_ad_2"></div>
                        </div>
                        <!-- 文章页-右侧3 动态广告位 -->
                        <div id="right-3" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad">
                            <div class="youdao-fixed-ad" id="detail_ad_3"></div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>
    <div class="container">
        <h4 class="pt20 mb15 mt0 border-top">你可能感兴趣的:(scrapy 爬取w3school)</h4>
        <div id="paradigm-article-related">
            <div class="recommend-post mb30">
                <ul class="widget-links">
                    <li><a href="/article/1900561741394276352.htm"
                           title="SEO 优化" target="_blank">SEO 优化</a>
                        <span class="text-muted">前端岳大宝</span>
<a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF%E6%A0%B8%E5%BF%83%E7%9F%A5%E8%AF%86%E6%80%BB%E7%BB%93/1.htm">前端核心知识总结</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/html/1.htm">html</a>
                        <div>以下是SEO(搜索引擎优化)的基础知识点梳理,从前端技术、内容策略到搜索引擎原理,覆盖核心优化方向:一、SEO基础概念定义与目标SEO是通过优化网站结构、内容和技术,提升网站在搜索引擎自然搜索结果中的排名,吸引更多免费流量。核心目标:满足用户搜索意图,同时符合搜索引擎爬虫的抓取规则。搜索引擎工作原理爬取(Crawling):搜索引擎蜘蛛(如Googlebot)抓取网页内容。索引(Indexing)</div>
                    </li>
                    <li><a href="/article/1900524910644621312.htm"
                           title="Python爬虫教程:如何通过接口批量下载视频封面(FFmpeg技术实现)" target="_blank">Python爬虫教程:如何通过接口批量下载视频封面(FFmpeg技术实现)</a>
                        <span class="text-muted">Python爬虫项目</span>
<a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E7%88%AC%E8%99%AB/1.htm">爬虫</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90/1.htm">数据分析</a><a class="tag" taget="_blank" href="/search/scrapy/1.htm">scrapy</a><a class="tag" taget="_blank" href="/search/selenium/1.htm">selenium</a>
                        <div>引言随着在线视频平台的蓬勃发展,视频封面作为视频内容的预览图,一直以来都是观众对视频的第一印象。在爬取视频资源时,很多开发者和研究者往往只关注视频本身,而忽略了视频封面。实际上,视频封面不仅能提供重要的信息(例如视频标题、主题或情感等),而且它们也能作为数据集中的重要属性,用于视频分类、推荐系统等应用。在这篇博客中,我们将深入探讨如何使用Python通过接口批量下载视频封面,利用FFmpeg等技术</div>
                    </li>
                    <li><a href="/article/1900326676189999104.htm"
                           title="【Python爬虫(71)】用Python爬虫解锁教育数据的奥秘" target="_blank">【Python爬虫(71)】用Python爬虫解锁教育数据的奥秘</a>
                        <span class="text-muted">奔跑吧邓邓子</span>
<a class="tag" taget="_blank" href="/search/Python%E7%88%AC%E8%99%AB/1.htm">Python爬虫</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E7%88%AC%E8%99%AB/1.htm">爬虫</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a><a class="tag" taget="_blank" href="/search/%E6%95%99%E8%82%B2%E6%95%B0%E6%8D%AE/1.htm">教育数据</a>
                        <div>【Python爬虫】专栏简介:本专栏是Python爬虫领域的集大成之作,共100章节。从Python基础语法、爬虫入门知识讲起,深入探讨反爬虫、多线程、分布式等进阶技术。以大量实例为支撑,覆盖网页、图片、音频等各类数据爬取,还涉及数据处理与分析。无论是新手小白还是进阶开发者,都能从中汲取知识,助力掌握爬虫核心技能,开拓技术视野。目录一、引言二、确定目标网站2.1教育机构官网2.2在线学习平台三、爬</div>
                    </li>
                    <li><a href="/article/1900129883997138944.htm"
                           title="应用商店评论分析实战:Python逆向工程破解Google Play加密接口与NLP建模" target="_blank">应用商店评论分析实战:Python逆向工程破解Google Play加密接口与NLP建模</a>
                        <span class="text-muted">西攻城狮北</span>
<a class="tag" taget="_blank" href="/search/%E7%89%A9%E8%81%94%E7%BD%91/1.htm">物联网</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E7%88%AC%E8%99%AB/1.htm">爬虫</a><a class="tag" taget="_blank" href="/search/%E5%AE%9E%E6%88%98%E6%A1%88%E4%BE%8B/1.htm">实战案例</a>
                        <div>一、项目概述在移动互联网时代,应用商店中的用户评论成为了开发者优化应用、提升用户体验的重要依据。然而,GooglePlay等应用商店对评论数据进行了加密处理,直接爬取难度较大。本文将介绍如何使用Python逆向工程破解GooglePlay的加密接口,实现对应用商店评论的实时采集,并结合NLP(自然语言处理)技术进行情感分析和主题建模,为开发者提供有价值的数据支持。二、技术选型(一)Python逆向</div>
                    </li>
                    <li><a href="/article/1900025483643383808.htm"
                           title="【爬虫实战】python入门爬取猫眼电影排行" target="_blank">【爬虫实战】python入门爬取猫眼电影排行</a>
                        <span class="text-muted">进击的C语言</span>
<a class="tag" taget="_blank" href="/search/%E7%88%AC%E8%99%AB/1.htm">爬虫</a><a class="tag" taget="_blank" href="/search/%E8%87%AA%E5%8A%A8%E5%8C%96/1.htm">自动化</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C/1.htm">网络</a>
                        <div>爬虫爬虫概述应用场景:1、抓取特定网站或应用的内容,提取出有价值的信息。2、模拟用户在浏览器或应用中的操作,实现自动化流程。爬虫是什么专业术语:网络爬虫(又称网页蜘蛛、网络机器人)网络爬虫是一种自动按照特定规则抓取网页信息的程序或脚本。爬虫起源随着网络的迅猛发展,万维网成为海量信息的载体,如何有效地提取和利用这些信息成为一项巨大挑战。搜索引擎如Yahoo、Google、百度等,作为帮助人们检索信息</div>
                    </li>
                    <li><a href="/article/1900018293645832192.htm"
                           title="哔站评论爬取" target="_blank">哔站评论爬取</a>
                        <span class="text-muted">yzx991013</span>
<a class="tag" taget="_blank" href="/search/python/1.htm">python</a>
                        <div>代码如下:importrequestscookies={'buvid3':'A02E7647-6DFD-E7ED-47C4-7472A53A74A535400infoc','b_nut':'1727598635','_uuid':'16375F45-C5DB-F3CA-A989-10D6ACF105C76E35219infoc','enable_web_push':'DISABLE','buvid</div>
                    </li>
                    <li><a href="/article/1899889045928996864.htm"
                           title="requests入门以及requests库实例和with,os的解释(Python网络爬虫和信息提取)" target="_blank">requests入门以及requests库实例和with,os的解释(Python网络爬虫和信息提取)</a>
                        <span class="text-muted">眸生</span>
<a class="tag" taget="_blank" href="/search/Python%E7%88%AC%E8%99%AB/1.htm">Python爬虫</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E7%88%AC%E8%99%AB/1.htm">爬虫</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a><a class="tag" taget="_blank" href="/search/%E7%AC%94%E8%AE%B0/1.htm">笔记</a>
                        <div>导学定向网络数据爬取和网页解析的基本能力requests入门安装方法首先cmdpipinstallrequests然后打开idle测试**>>>importrequests>>>r=requests.get("http://www.baidu.com")>>>r.status_code200>>>r.encoding='utf-8'>>>r.text**requests库的7个主要方法reques</div>
                    </li>
                    <li><a href="/article/1899887280412225536.htm"
                           title="Python中的简单爬虫" target="_blank">Python中的简单爬虫</a>
                        <span class="text-muted">m0_74825614</span>
<a class="tag" taget="_blank" href="/search/%E9%9D%A2%E8%AF%95/1.htm">面试</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0%E8%B7%AF%E7%BA%BF/1.htm">学习路线</a><a class="tag" taget="_blank" href="/search/%E9%98%BF%E9%87%8C%E5%B7%B4%E5%B7%B4/1.htm">阿里巴巴</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E7%88%AC%E8%99%AB/1.htm">爬虫</a><a class="tag" taget="_blank" href="/search/%E4%BF%A1%E6%81%AF%E5%8F%AF%E8%A7%86%E5%8C%96/1.htm">信息可视化</a>
                        <div>文章目录一.基于FastAPI之Web站点开发1.基于FastAPI搭建Web服务器2.Web服务器和浏览器的通讯流程3.浏览器访问Web服务器的通讯流程4.加载图片资源代码二.基于Web请求的FastAPI通用配置1.目前Web服务器存在问题2.基于Web请求的FastAPI通用配置三.Python爬虫介绍1.什么是爬虫2.爬虫的基本步骤3.安装requests模块4.爬取照片①查看index.</div>
                    </li>
                    <li><a href="/article/1899864589479243776.htm"
                           title="使用 Python 调用 GitHub REST API 爬取 GitHub 仓库信息(完整指南)" target="_blank">使用 Python 调用 GitHub REST API 爬取 GitHub 仓库信息(完整指南)</a>
                        <span class="text-muted">Python爬虫项目</span>
<a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/github/1.htm">github</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a><a class="tag" taget="_blank" href="/search/%E7%88%AC%E8%99%AB/1.htm">爬虫</a><a class="tag" taget="_blank" href="/search/selenium/1.htm">selenium</a>
                        <div>一、引言GitHub是全球最大的开源代码托管平台,开发者可以通过GitHub分享代码、参与开源项目、进行版本管理。GitHub提供了功能强大的RESTAPI,允许开发者通过编程方式访问GitHub上的仓库、用户、提交记录、PR(PullRequest)等信息。在本文中,我们将使用Python编写一个完整的爬虫程序,调用GitHub的RESTAPI来爬取GitHub仓库的信息。包括:✅获取GitHu</div>
                    </li>
                    <li><a href="/article/1899864590238412800.htm"
                           title="Python爬虫教程:爬取全网小说数据" target="_blank">Python爬虫教程:爬取全网小说数据</a>
                        <span class="text-muted">Python爬虫项目</span>
<a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E7%88%AC%E8%99%AB/1.htm">爬虫</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90/1.htm">数据分析</a>
                        <div>引言随着互联网内容的爆炸式增长,小说作为一种受欢迎的娱乐形式,已经成为了网络中最重要的内容之一。从各种在线小说平台(如起点中文网、17K小说网、红袖添香等)到免费的书籍网站,小说资源无处不在。因此,爬取全网小说数据成为了许多数据分析师、开发者以及小说爱好者的需求。本篇博客将介绍如何使用Python爬虫技术爬取全网小说数据。爬取的数据包括小说名称、作者、章节、内容等。通过本文,您将掌握如何利用Pyt</div>
                    </li>
                    <li><a href="/article/1899836985565048832.htm"
                           title="python链家数据分析_利用Python分析北京链家二手房数据" target="_blank">python链家数据分析_利用Python分析北京链家二手房数据</a>
                        <span class="text-muted">熊仔仔仔仔</span>
<a class="tag" taget="_blank" href="/search/python%E9%93%BE%E5%AE%B6%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90/1.htm">python链家数据分析</a>
                        <div>这是一篇非常简单易懂的分析方法,你只需要了解Python的3个包(numpy,pandas,matplotlib)和Python基本的语法结构就可以看懂了。当然,跟着这篇文章亲手试一次更能加深你的理解~有任何不懂的问题都可以私信我哈~欢迎私撩一、明确分析目的和思路1、分析北京二手房成交价格分布情况2、分析成交量超过一亿的经纪人相关因素二、数据准备1、数据概况(1)爬虫爬取的链家经纪人的成交数据(2</div>
                    </li>
                    <li><a href="/article/1899772687090249728.htm"
                           title="【实践】Python爬取豆瓣电影排行榜页面数据" target="_blank">【实践】Python爬取豆瓣电影排行榜页面数据</a>
                        <span class="text-muted">大数据张老师</span>
<a class="tag" taget="_blank" href="/search/Python%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1/1.htm">Python程序设计</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a>
                        <div>在本节中,我们将使用requests库爬取豆瓣电影排行榜页面数据。通过一步步实操,学习如何使用requests库发送HTTP请求、获取网页HTML数据,并为后续的网页解析做好准备。1.目标:获取豆瓣电影排行榜的网页数据豆瓣电影提供了电影排行榜页面,网址如下:https://movie.douban.com/top250在本节中,我们的目标是:访问豆瓣电影排行榜页面。获取该页面的HTML数据。解析并</div>
                    </li>
                    <li><a href="/article/1899723278499508224.htm"
                           title="量化交易中用到的回测评估指标(策略收益、基准收益、Alpha比率、Beta比率、夏普比率、索提诺比率)详解" target="_blank">量化交易中用到的回测评估指标(策略收益、基准收益、Alpha比率、Beta比率、夏普比率、索提诺比率)详解</a>
                        <span class="text-muted">林不更新</span>
<a class="tag" taget="_blank" href="/search/%E9%87%8F%E5%8C%96%E4%BA%A4%E6%98%93/1.htm">量化交易</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a>
                        <div>前言近日在做A股的过程中接触到了量化交易。通过一个月时间的了解发现并非全自动印钞机,也有可能有全自动接盘侠的潜质。故现阶段以学习量化交易的知识为主,多学多问总是没错的嘛~现阶段使用Python爬取交易数据来验证自己的一些选股逻辑,笔者目前去一家民营的券商开户后,券商赠送了Ptrade作为量化软件供客户使用,可回测可交易(后续详细讲解记录该软件的使用过程)。目前是作为辅助选股使用,开启自动交易为时尚</div>
                    </li>
                    <li><a href="/article/1899666428366221312.htm"
                           title="第八课:Scrapy框架入门:工业级爬虫开发" target="_blank">第八课:Scrapy框架入门:工业级爬虫开发</a>
                        <span class="text-muted">deming_su</span>
<a class="tag" taget="_blank" href="/search/Python/1.htm">Python</a><a class="tag" taget="_blank" href="/search/scrapy/1.htm">scrapy</a><a class="tag" taget="_blank" href="/search/%E7%88%AC%E8%99%AB/1.htm">爬虫</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a>
                        <div>在当今大数据时代,数据抓取已成为信息获取的重要手段。Scrapy作为一个基于Python的开源网络爬虫框架,凭借其高效、灵活的特性,在工业级爬虫开发中占据重要地位。本文将详细介绍Scrapy框架的基本架构、工作流程、关键组件(如Spider类与ItemPipeline)以及中间件机制,并通过一个电商产品爬虫案例,展示如何使用Scrapy框架进行数据抓取。1.Scrapy架构与工作流程Scrapy架</div>
                    </li>
                    <li><a href="/article/1899557842826883072.htm"
                           title="Python 爬虫实战:从大众点评爬取餐厅评价,探寻美食打卡地" target="_blank">Python 爬虫实战:从大众点评爬取餐厅评价,探寻美食打卡地</a>
                        <span class="text-muted">西攻城狮北</span>
<a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E7%88%AC%E8%99%AB/1.htm">爬虫</a><a class="tag" taget="_blank" href="/search/%E7%BE%8E%E9%A3%9F/1.htm">美食</a><a class="tag" taget="_blank" href="/search/%E5%AE%9E%E6%88%98%E6%A1%88%E4%BE%8B/1.htm">实战案例</a>
                        <div>目录引言一、项目背景与需求分析1.1大众点评平台的特点1.2数据爬取目标二、技术选型与工具准备2.1技术选型2.2工具准备三、爬取餐厅信息3.1获取餐厅列表3.2获取餐厅详情四、数据存储五、数据处理与分析5.1数据清洗5.2数据分析六、可视化展示七、总结与展望引言大众点评作为国内知名的本地生活服务平台,提供了丰富的餐厅信息和用户评价。通过爬取大众点评上的餐厅评价数据,我们可以分析餐厅的受欢迎程度、</div>
                    </li>
                    <li><a href="/article/1899551665460146176.htm"
                           title="Python爬虫实战010:反爬取机制学习" target="_blank">Python爬虫实战010:反爬取机制学习</a>
                        <span class="text-muted">若北辰</span>
<a class="tag" taget="_blank" href="/search/Python%E7%88%AC%E8%99%AB%E6%95%99%E7%A8%8B/1.htm">Python爬虫教程</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E7%88%AC%E8%99%AB/1.htm">爬虫</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a>
                        <div>#-*-coding:utf-8-*-"""@ModuleName:demo_001@Function:@Author:@Time:2020/12/28上午11:21"""fromlxmlimportetreeimportpandasaspdimportreimportrandomimporturllibimportrequestsimporttimeimportosimportjson</div>
                    </li>
                    <li><a href="/article/1899490864808390656.htm"
                           title="python男孩_python爬虫:爬取男生喜欢的图片" target="_blank">python男孩_python爬虫:爬取男生喜欢的图片</a>
                        <span class="text-muted">weixin_39971138</span>
<a class="tag" taget="_blank" href="/search/python%E7%94%B7%E5%AD%A9/1.htm">python男孩</a>
                        <div>前言需要Python源码、PDF、视频资料可以点击下方链接获取http://note.youdao.com/noteshare?id=3054cce4add8a909e784ad934f956cef任务目标:1.抓取不同类型的图片2.编写一个GUI界面爬虫程序,打包成exe重新文件3.遇到的难点1.分析如何抓取不同类型的图片首先打开网站,可以看到有如下6个类型的菜单在这里插入图片描述点击不同菜单,</div>
                    </li>
                    <li><a href="/article/1899490360510443520.htm"
                           title="cefsharp 带cookie访问_Python爬虫:scrapy之Cookie和Session" target="_blank">cefsharp 带cookie访问_Python爬虫:scrapy之Cookie和Session</a>
                        <span class="text-muted">长虹万贯</span>
<a class="tag" taget="_blank" href="/search/cefsharp/1.htm">cefsharp</a><a class="tag" taget="_blank" href="/search/%E5%B8%A6cookie%E8%AE%BF%E9%97%AE/1.htm">带cookie访问</a>
                        <div>关于cookie和session估计很多程序员面试的时候都会被问到,这两个概念在写web以及爬虫中都会涉及,并且两者可能很多人直接回答也不好说的特别清楚,所以整理这样一篇文章,也帮助自己加深理解什么是Cookie其实简单的说就是当用户通过http协议访问一个服务器的时候,这个服务器会将一些Name/Value键值对返回给客户端浏览器,并将这些数据加上一些限制条件。在条件符合时,这个用户下次再访问服</div>
                    </li>
                    <li><a href="/article/1899485821086527488.htm"
                           title="Python爬虫学习(一)——爬取新浪新闻" target="_blank">Python爬虫学习(一)——爬取新浪新闻</a>
                        <span class="text-muted">WayBling</span>
<a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E7%88%AC%E8%99%AB/1.htm">爬虫</a>
                        <div>参照网易云课堂的课程实践的结果:准备工作:安装requests和BeautifulSoup4。打开cmd,输入如下命令pipinstallrequestspipinstallBeautifulSoup4打开我们要爬取的页面,这里以新浪新闻为例,地址为:http://news.sina.com.cn/china/大概的思路就是通过浏览器的开发者工具检测到要获取数据所需要的request是什么,然后使</div>
                    </li>
                    <li><a href="/article/1899469928864477184.htm"
                           title="基于Python的新闻网站内容爬取与分析:从数据获取到文本挖掘的完整指南" target="_blank">基于Python的新闻网站内容爬取与分析:从数据获取到文本挖掘的完整指南</a>
                        <span class="text-muted">Python爬虫项目</span>
<a class="tag" taget="_blank" href="/search/2025%E5%B9%B4%E7%88%AC%E8%99%AB%E5%AE%9E%E6%88%98%E9%A1%B9%E7%9B%AE/1.htm">2025年爬虫实战项目</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a><a class="tag" taget="_blank" href="/search/%E7%88%AC%E8%99%AB/1.htm">爬虫</a><a class="tag" taget="_blank" href="/search/oracle/1.htm">oracle</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E6%8C%96%E6%8E%98/1.htm">数据挖掘</a>
                        <div>引言在当今信息化社会,新闻成为我们获取世界信息的重要途径。通过新闻网站,用户能够快速了解时事热点、政治、经济、娱乐等各类信息。随着技术的发展,获取新闻数据已经变得越来越简单。我们可以利用Python编写爬虫程序,自动化地从新闻网站上抓取最新的新闻内容,并进行进一步的分析,如情感分析、关键词提取、热点话题分析等。本篇博客将为你详细介绍如何使用Python爬虫技术从新闻网站抓取最新新闻,并进行分析。我</div>
                    </li>
                    <li><a href="/article/1899183786785042432.htm"
                           title="《Python实战进阶》No20: 网络爬虫开发:Scrapy框架详解" target="_blank">《Python实战进阶》No20: 网络爬虫开发:Scrapy框架详解</a>
                        <span class="text-muted">带娃的IT创业者</span>
<a class="tag" taget="_blank" href="/search/Python%E5%AE%9E%E6%88%98%E8%BF%9B%E9%98%B6/1.htm">Python实战进阶</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E7%88%AC%E8%99%AB/1.htm">爬虫</a><a class="tag" taget="_blank" href="/search/scrapy/1.htm">scrapy</a>
                        <div>No20:网络爬虫开发:Scrapy框架详解摘要本文深入解析Scrapy核心架构,通过中间件链式处理、布隆过滤器增量爬取、Splash动态渲染、分布式指纹策略四大核心技术,结合政府数据爬取与动态API逆向工程实战案例,构建企业级爬虫系统。提供完整代码与运行结果,包含法律合规设计与反爬对抗方案。Scrapy是适用于Python的一个快速、高层次的屏幕抓取和web抓取框架,用于抓取web站点并从页面中</div>
                    </li>
                    <li><a href="/article/1899039544217497600.htm"
                           title="python爬取房源数据_python爬取安居客二手房网站数据(转)" target="_blank">python爬取房源数据_python爬取安居客二手房网站数据(转)</a>
                        <span class="text-muted">weixin_39897758</span>
<a class="tag" taget="_blank" href="/search/python%E7%88%AC%E5%8F%96%E6%88%BF%E6%BA%90%E6%95%B0%E6%8D%AE/1.htm">python爬取房源数据</a>
                        <div>之前没课的时候写过安居客的爬虫,但那也是小打小闹,那这次呢,还是小打小闹哈哈,现在开始正式进行爬虫书写首先,需要分析一下要爬取的网站的结构:作为一名河南的学生,那就看看郑州的二手房信息吧!在上面这个页面中,我们可以看到一条条的房源信息,从中我们发现了什么,发现了连郑州的二手房都是这么的贵,作为即将毕业的学生狗惹不起啊惹不起还是正文吧!!!由上可以看到网页一条条的房源信息,点击进去后就会发现:房源的</div>
                    </li>
                    <li><a href="/article/1899035006781681664.htm"
                           title="python爬虫项目(十二):爬取各大音乐平台排行榜并分析音乐类型趋势" target="_blank">python爬虫项目(十二):爬取各大音乐平台排行榜并分析音乐类型趋势</a>
                        <span class="text-muted">人工智能_SYBH</span>
<a class="tag" taget="_blank" href="/search/%E7%88%AC%E8%99%AB%E8%AF%95%E8%AF%BB/1.htm">爬虫试读</a><a class="tag" taget="_blank" href="/search/2025%E5%B9%B4%E7%88%AC%E8%99%AB%E7%99%BE%E7%AF%87%E5%AE%9E%E6%88%98%E5%AE%9D%E5%85%B8%3A/1.htm">2025年爬虫百篇实战宝典:</a><a class="tag" taget="_blank" href="/search/%E4%BB%8E%E5%85%A5%E9%97%A8%E5%88%B0%E7%B2%BE%E9%80%9A/1.htm">从入门到精通</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E7%88%AC%E8%99%AB/1.htm">爬虫</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a><a class="tag" taget="_blank" href="/search/python%E7%88%AC%E8%99%AB%E9%A1%B9%E7%9B%AE/1.htm">python爬虫项目</a><a class="tag" taget="_blank" href="/search/python%E7%88%AC%E8%99%AB/1.htm">python爬虫</a>
                        <div>目录1.项目简介2.工具与技术3.爬取音乐平台排行榜数据3.1使用requests和BeautifulSoup爬取网易云音乐排行榜3.2爬取QQ音乐排行榜4.数据处理4.1合并数据5.分析音乐类型趋势5.1使用关键词匹配类型6.数据可视化6.1绘制音乐类型分布图6.2绘制时间趋势图7.总结爬取各大音乐平台排行榜并分析音乐类型趋势是一个有趣且有意义的项目。我们可以通过以下步骤来实现:1.项目简介本项</div>
                    </li>
                    <li><a href="/article/1899033494080778240.htm"
                           title="【python爬虫】免费爬取网易云音乐完整教程(附带源码)" target="_blank">【python爬虫】免费爬取网易云音乐完整教程(附带源码)</a>
                        <span class="text-muted">景天科技苑</span>
<a class="tag" taget="_blank" href="/search/%E7%88%AC%E8%99%AB%E5%89%AF%E4%B8%9A%E5%AE%9E%E6%88%98/1.htm">爬虫副业实战</a><a class="tag" taget="_blank" href="/search/%E9%9B%B6%E5%9F%BA%E7%A1%80/1.htm">零基础</a><a class="tag" taget="_blank" href="/search/%E8%BF%9B%E9%98%B6%E6%95%99%E5%AD%A6/1.htm">进阶教学</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E7%88%AC%E8%99%AB/1.htm">爬虫</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a><a class="tag" taget="_blank" href="/search/js%E9%80%86%E5%90%91/1.htm">js逆向</a>
                        <div>✨✨欢迎大家来到景天科技苑✨✨养成好习惯,先赞后看哦~所属专栏:爬虫实战,零基础、进阶教学景天的主页:景天科技苑文章目录网易云逆向网易云逆向https://music.163.com/下载云音乐胡广生等,可以选择自己喜欢的歌曲首先,我们可以先根据抓包找到的m4a文件,下载试试在这个请求</div>
                    </li>
                    <li><a href="/article/1898905408840462336.htm"
                           title="python爬取酷狗音乐的mv地址_爬取酷狗音乐.py" target="_blank">python爬取酷狗音乐的mv地址_爬取酷狗音乐.py</a>
                        <span class="text-muted">HAR.王帅真</span>

                        <div>importrequestsfromseleniumimportwebdriverfrompyqueryimportPyQueryaspq#获取歌名defAccess_to_the_song(C):doc=pq(C)The_song=doc('.audioName').text()returnThe_song#进入听歌的界面爬取HTMLdefBrowser_access(URL):The_brow</div>
                    </li>
                    <li><a href="/article/1898904902457946112.htm"
                           title="python关闭一个子进程_python3关闭子进程的两种方式" target="_blank">python关闭一个子进程_python3关闭子进程的两种方式</a>
                        <span class="text-muted">weixin_39646695</span>
<a class="tag" taget="_blank" href="/search/python%E5%85%B3%E9%97%AD%E4%B8%80%E4%B8%AA%E5%AD%90%E8%BF%9B%E7%A8%8B/1.htm">python关闭一个子进程</a>
                        <div>用scrapy做爬虫的时候需要开多个爬虫子进程,为了定时开启和关闭爬虫子进程,需要对子进程做控制,而关闭进程有两种方法-----要简单高效,直接看方法2吧-----方法1:通过获取全部windows进程,获取增量进程方式该方法是通过获取所有windows进程,将所有进程名为“python.exe”的获取,最后在杀的时候,除了主进程外,全部杀掉该方法存在的问题在于,如果杀进程的时候刚好有其他人的py</div>
                    </li>
                    <li><a href="/article/1898902251674595328.htm"
                           title="Python爬虫之爬取酷狗音乐" target="_blank">Python爬虫之爬取酷狗音乐</a>
                        <span class="text-muted">进击的Loser‭</span>

                        <div>Python爬虫之爬取酷狗音乐废话不说,上代码:#!Python#-*-encoding:utf-8-*-'''1.文件名称:酷我音乐爬虫.py2.创建时间:2021/03/2117:29:093.作者名称:ZAY4.Python版本:3.7.0'''importosimportgetpassimportrequestsfromurllib.parseimportquoteclassSpider(</div>
                    </li>
                    <li><a href="/article/1898900738898194432.htm"
                           title="【源代码】python爬虫,爬取足球赛制比分" target="_blank">【源代码】python爬虫,爬取足球赛制比分</a>
                        <span class="text-muted">码农之家★资源共享</span>
<a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E7%88%AC%E8%99%AB/1.htm">爬虫</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a>
                        <div>完整代码!​fromseleniumimportwebdriverfromselenium.common.exceptionsimportNoSuchElementExceptionfromselenium.webdriver.common.keysimportKeysimporttimefrombs4importBeautifulSoupimportselectimportsocketimpor</div>
                    </li>
                    <li><a href="/article/1898899098170355712.htm"
                           title="Python爬虫–爬取酷狗音乐 2024亲测可用!!!" target="_blank">Python爬虫–爬取酷狗音乐 2024亲测可用!!!</a>
                        <span class="text-muted">LinHZ2012</span>
<a class="tag" taget="_blank" href="/search/%E7%88%AC%E8%99%AB/1.htm">爬虫</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a>
                        <div>相信很多小伙伴都有听歌的习惯~今天我们就来学习怎么用Python来爬取音乐吧~~~首先打开音乐网站,找到想听的歌,打开播放页面在网页上右键点击检查,调出开发者工具,找到网络(Network)选项。然后刷新网页以上是其他多数博主的做法然后,你在右边一顿翻找,却根本找不到mp3......不要慌!教程来喽!首先在右下角的歌单里面随便找一首其他的歌播放~然后再重新点回来——————你就会惊喜的发现——m</div>
                    </li>
                    <li><a href="/article/1898704136837328896.htm"
                           title="Python3 爬虫 Scrapy 与 Redis" target="_blank">Python3 爬虫 Scrapy 与 Redis</a>
                        <span class="text-muted">大秦重工</span>
<a class="tag" taget="_blank" href="/search/%E7%88%AC%E8%99%AB/1.htm">爬虫</a><a class="tag" taget="_blank" href="/search/scrapy/1.htm">scrapy</a><a class="tag" taget="_blank" href="/search/redis/1.htm">redis</a>
                        <div>Scrapy是一个分布式爬虫的框架,如果把它像普通的爬虫一样单机运行,它的优势将不会被体现出来。因此,要让Scrapy往分布式爬虫方向发展,就需要学习Scrapy与Redis的结合使用。Redis在Scrapy的爬虫中作为一个队列存在。一、Scrapy_redis的安装和使用Scrapy自带的待爬队列是deque,而现在需要使用Redis来作为队列,所以就需要将原来操作deque的方法替换为操作R</div>
                    </li>
                                <li><a href="/article/114.htm"
                                       title="戴尔笔记本win8系统改装win7系统" target="_blank">戴尔笔记本win8系统改装win7系统</a>
                                    <span class="text-muted">sophia天雪</span>
<a class="tag" taget="_blank" href="/search/win7/1.htm">win7</a><a class="tag" taget="_blank" href="/search/%E6%88%B4%E5%B0%94/1.htm">戴尔</a><a class="tag" taget="_blank" href="/search/%E6%94%B9%E8%A3%85%E7%B3%BB%E7%BB%9F/1.htm">改装系统</a><a class="tag" taget="_blank" href="/search/win8/1.htm">win8</a>
                                    <div>戴尔win8 系统改装win7 系统详述  
 
第一步:使用U盘制作虚拟光驱: 
        1)下载安装UltraISO:注册码可以在网上搜索。 
        2)启动UltraISO,点击“文件”—》“打开”按钮,打开已经准备好的ISO镜像文 
</div>
                                </li>
                                <li><a href="/article/241.htm"
                                       title="BeanUtils.copyProperties使用笔记" target="_blank">BeanUtils.copyProperties使用笔记</a>
                                    <span class="text-muted">bylijinnan</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a>
                                    <div>BeanUtils.copyProperties VS PropertyUtils.copyProperties 
 
两者最大的区别是: 
BeanUtils.copyProperties会进行类型转换,而PropertyUtils.copyProperties不会。 
既然进行了类型转换,那BeanUtils.copyProperties的速度比不上PropertyUtils.copyProp</div>
                                </li>
                                <li><a href="/article/368.htm"
                                       title="MyEclipse中文乱码问题" target="_blank">MyEclipse中文乱码问题</a>
                                    <span class="text-muted">0624chenhong</span>
<a class="tag" taget="_blank" href="/search/MyEclipse/1.htm">MyEclipse</a>
                                    <div>一、设置新建常见文件的默认编码格式,也就是文件保存的格式。 
在不对MyEclipse进行设置的时候,默认保存文件的编码,一般跟简体中文操作系统(如windows2000,windowsXP)的编码一致,即GBK。 
在简体中文系统下,ANSI 编码代表 GBK编码;在日文操作系统下,ANSI 编码代表 JIS 编码。 
Window-->Preferences-->General -</div>
                                </li>
                                <li><a href="/article/495.htm"
                                       title="发送邮件" target="_blank">发送邮件</a>
                                    <span class="text-muted">不懂事的小屁孩</span>
<a class="tag" taget="_blank" href="/search/send+email/1.htm">send email</a>
                                    <div>  
import org.apache.commons.mail.EmailAttachment;  
import org.apache.commons.mail.EmailException;  
import org.apache.commons.mail.HtmlEmail;  
import org.apache.commons.mail.MultiPartEmail;  
</div>
                                </li>
                                <li><a href="/article/622.htm"
                                       title="动画合集" target="_blank">动画合集</a>
                                    <span class="text-muted">换个号韩国红果果</span>
<a class="tag" taget="_blank" href="/search/html/1.htm">html</a><a class="tag" taget="_blank" href="/search/css/1.htm">css</a>
                                    <div>动画 指一种样式变为另一种样式 keyframes应当始终定义0 100 过程 
1 transition  制作鼠标滑过图片时的放大效果 
 

css
.wrap{
		width: 340px;height: 340px;
		position: absolute;
		top: 30%;
		left: 20%;
		overflow: hidden;
		bor</div>
                                </li>
                                <li><a href="/article/749.htm"
                                       title="网络最常见的攻击方式竟然是SQL注入" target="_blank">网络最常见的攻击方式竟然是SQL注入</a>
                                    <span class="text-muted">蓝儿唯美</span>
<a class="tag" taget="_blank" href="/search/sql%E6%B3%A8%E5%85%A5/1.htm">sql注入</a>
                                    <div>NTT研究表明,尽管SQL注入(SQLi)型攻击记录详尽且为人熟知,但目前网络应用程序仍然是SQLi攻击的重灾区。 
信息安全和风险管理公司NTTCom Security发布的《2015全球智能威胁风险报告》表明,目前黑客攻击网络应用程序方式中最流行的,要数SQLi攻击。报告对去年发生的60亿攻击 行为进行分析,指出SQLi攻击是最常见的网络应用程序攻击方式。全球网络应用程序攻击中,SQLi攻击占</div>
                                </li>
                                <li><a href="/article/876.htm"
                                       title="java笔记2" target="_blank">java笔记2</a>
                                    <span class="text-muted">a-john</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a>
                                    <div>类的封装: 
1,java中,对象就是一个封装体。封装是把对象的属性和服务结合成一个独立的的单位。并尽可能隐藏对象的内部细节(尤其是私有数据) 
2,目的:使对象以外的部分不能随意存取对象的内部数据(如属性),从而使软件错误能够局部化,减少差错和排错的难度。 
3,简单来说,“隐藏属性、方法或实现细节的过程”称为——封装。 
4,封装的特性: 
      4.1设置</div>
                                </li>
                                <li><a href="/article/1003.htm"
                                       title="[Andengine]Error:can't creat bitmap form path “gfx/xxx.xxx”" target="_blank">[Andengine]Error:can't creat bitmap form path “gfx/xxx.xxx”</a>
                                    <span class="text-muted">aijuans</span>
<a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0Android%E9%81%87%E5%88%B0%E7%9A%84%E9%94%99%E8%AF%AF/1.htm">学习Android遇到的错误</a>
                                    <div>        最开始遇到这个错误是很早以前了,以前也没注意,只当是一个不理解的bug,因为所有的texture,textureregion都没有问题,但是就是提示错误。 
 
昨天和美工要图片,本来是要背景透明的png格式,可是她却给了我一个jpg的。说明了之后她说没法改,因为没有png这个保存选项。 
 
我就看了一下,和她要了psd的文件,还好我有一点</div>
                                </li>
                                <li><a href="/article/1130.htm"
                                       title="自己写的一个繁体到简体的转换程序" target="_blank">自己写的一个繁体到简体的转换程序</a>
                                    <span class="text-muted">asialee</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E8%BD%AC%E6%8D%A2/1.htm">转换</a><a class="tag" taget="_blank" href="/search/%E7%B9%81%E4%BD%93/1.htm">繁体</a><a class="tag" taget="_blank" href="/search/filter/1.htm">filter</a><a class="tag" taget="_blank" href="/search/%E7%AE%80%E4%BD%93/1.htm">简体</a>
                                    <div>          今天调研一个任务,基于java的filter实现繁体到简体的转换,于是写了一个demo,给各位博友奉上,欢迎批评指正。 
         实现的思路是重载request的调取参数的几个方法,然后做下转换。 
          </div>
                                </li>
                                <li><a href="/article/1257.htm"
                                       title="android意图和意图监听器技术" target="_blank">android意图和意图监听器技术</a>
                                    <span class="text-muted">百合不是茶</span>
<a class="tag" taget="_blank" href="/search/android/1.htm">android</a><a class="tag" taget="_blank" href="/search/%E6%98%BE%E7%A4%BA%E6%84%8F%E5%9B%BE/1.htm">显示意图</a><a class="tag" taget="_blank" href="/search/%E9%9A%90%E5%BC%8F%E6%84%8F%E5%9B%BE/1.htm">隐式意图</a><a class="tag" taget="_blank" href="/search/%E6%84%8F%E5%9B%BE%E7%9B%91%E5%90%AC%E5%99%A8/1.htm">意图监听器</a>
                                    <div>Intent是在activity之间传递数据;Intent的传递分为显示传递和隐式传递 
  
显式意图:调用Intent.setComponent() 或 Intent.setClassName() 或 Intent.setClass()方法明确指定了组件名的Intent为显式意图,显式意图明确指定了Intent应该传递给哪个组件。 
  
隐式意图;不指明调用的名称,根据设</div>
                                </li>
                                <li><a href="/article/1384.htm"
                                       title="spring3中新增的@value注解" target="_blank">spring3中新增的@value注解</a>
                                    <span class="text-muted">bijian1013</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/%40Value/1.htm">@Value</a>
                                    <div>        在spring 3.0中,可以通过使用@value,对一些如xxx.properties文件中的文件,进行键值对的注入,例子如下: 
1.首先在applicationContext.xml中加入:    
<beans xmlns="http://www.springframework.</div>
                                </li>
                                <li><a href="/article/1511.htm"
                                       title="Jboss启用CXF日志" target="_blank">Jboss启用CXF日志</a>
                                    <span class="text-muted">sunjing</span>
<a class="tag" taget="_blank" href="/search/log/1.htm">log</a><a class="tag" taget="_blank" href="/search/jboss/1.htm">jboss</a><a class="tag" taget="_blank" href="/search/CXF/1.htm">CXF</a>
                                    <div>1. 在standalone.xml配置文件中添加system-properties: 
    <system-properties>        <property name="org.apache.cxf.logging.enabled" value=&</div>
                                </li>
                                <li><a href="/article/1638.htm"
                                       title="【Hadoop三】Centos7_x86_64部署Hadoop集群之编译Hadoop源代码" target="_blank">【Hadoop三】Centos7_x86_64部署Hadoop集群之编译Hadoop源代码</a>
                                    <span class="text-muted">bit1129</span>
<a class="tag" taget="_blank" href="/search/centos/1.htm">centos</a>
                                    <div>  编译必需的软件 
 
 Firebugs3.0.0 
 Maven3.2.3 
 Ant 
 JDK1.7.0_67 
 protobuf-2.5.0 
 Hadoop 2.5.2源码包 
 
  
  
  
 
 Firebugs3.0.0 
 
  
http://sourceforge.jp/projects/sfnet_findbug</div>
                                </li>
                                <li><a href="/article/1765.htm"
                                       title="struts2验证框架的使用和扩展" target="_blank">struts2验证框架的使用和扩展</a>
                                    <span class="text-muted">白糖_</span>
<a class="tag" taget="_blank" href="/search/%E6%A1%86%E6%9E%B6/1.htm">框架</a><a class="tag" taget="_blank" href="/search/xml/1.htm">xml</a><a class="tag" taget="_blank" href="/search/bean/1.htm">bean</a><a class="tag" taget="_blank" href="/search/struts/1.htm">struts</a><a class="tag" taget="_blank" href="/search/%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F/1.htm">正则表达式</a>
                                    <div>struts2能够对前台提交的表单数据进行输入有效性校验,通常有两种方式: 
1、在Action类中通过validatexx方法验证,这种方式很简单,在此不再赘述; 
2、通过编写xx-validation.xml文件执行表单验证,当用户提交表单请求后,struts会优先执行xml文件,如果校验不通过是不会让请求访问指定action的。 
本文介绍一下struts2通过xml文件进行校验的方法并说</div>
                                </li>
                                <li><a href="/article/1892.htm"
                                       title="记录-感悟" target="_blank">记录-感悟</a>
                                    <span class="text-muted">braveCS</span>
<a class="tag" taget="_blank" href="/search/%E6%84%9F%E6%82%9F/1.htm">感悟</a>
                                    <div>再翻翻以前写的感悟,有时会发现自己很幼稚,也会让自己找回初心。 
  
2015-1-11  1. 能在工作之余学习感兴趣的东西已经很幸福了; 
2. 要改变自己,不能这样一直在原来区域,要突破安全区舒适区,才能提高自己,往好的方面发展; 
3. 多反省多思考;要会用工具,而不是变成工具的奴隶; 
4. 一天内集中一个定长时间段看最新资讯和偏流式博</div>
                                </li>
                                <li><a href="/article/2019.htm"
                                       title="编程之美-数组中最长递增子序列" target="_blank">编程之美-数组中最长递增子序列</a>
                                    <span class="text-muted">bylijinnan</span>
<a class="tag" taget="_blank" href="/search/%E7%BC%96%E7%A8%8B%E4%B9%8B%E7%BE%8E/1.htm">编程之美</a>
                                    <div>
import java.util.Arrays;
import java.util.Random;

public class LongestAccendingSubSequence {

	/**
	 * 编程之美 数组中最长递增子序列 
	 * 书上的解法容易理解
	 * 另一方法书上没有提到的是,可以将数组排序(由小到大)得到新的数组,
	 * 然后求排序后的数组与原数</div>
                                </li>
                                <li><a href="/article/2146.htm"
                                       title="读书笔记5" target="_blank">读书笔记5</a>
                                    <span class="text-muted">chengxuyuancsdn</span>
<a class="tag" taget="_blank" href="/search/%E9%87%8D%E5%A4%8D%E6%8F%90%E4%BA%A4/1.htm">重复提交</a><a class="tag" taget="_blank" href="/search/struts2%E7%9A%84token%E9%AA%8C%E8%AF%81/1.htm">struts2的token验证</a>
                                    <div>1、重复提交 
2、struts2的token验证 
3、用response返回xml时的注意 
 
1、重复提交 
(1)应用场景 
(1-1)点击提交按钮两次。 
(1-2)使用浏览器后退按钮重复之前的操作,导致重复提交表单。 
(1-3)刷新页面 
(1-4)使用浏览器历史记录重复提交表单。 
(1-5)浏览器重复的 HTTP 请求。 
(2)解决方法 
(2-1)禁掉提交按钮 
(2-2)</div>
                                </li>
                                <li><a href="/article/2273.htm"
                                       title="[时空与探索]全球联合进行第二次费城实验的可能性" target="_blank">[时空与探索]全球联合进行第二次费城实验的可能性</a>
                                    <span class="text-muted">comsci</span>

                                    <div> 
 
     二次世界大战前后,由爱因斯坦参加的一次在海军舰艇上进行的物理学实验 -费城实验 
  至今给我们大家留下很多迷团..... 
 
     关于费城实验的详细过程,大家可以在网络上搜索一下,我这里就不详细描述了 
 
     在这里,我的意思是,现在</div>
                                </li>
                                <li><a href="/article/2400.htm"
                                       title="easy connect 之 ORA-12154: TNS: 无法解析指定的连接标识符" target="_blank">easy connect 之 ORA-12154: TNS: 无法解析指定的连接标识符</a>
                                    <span class="text-muted">daizj</span>
<a class="tag" taget="_blank" href="/search/oracle/1.htm">oracle</a><a class="tag" taget="_blank" href="/search/ORA-12154/1.htm">ORA-12154</a>
                                    <div>用easy connect连接出现“tns无法解析指定的连接标示符”的错误,如下: 
C:\Users\Administrator>sqlplus username/pwd@192.168.0.5:1521/orcl 
SQL*Plus: Release 10.2.0.1.0 – Production on 星期一 5月 21 18:16:20 2012 
Copyright (c) 198</div>
                                </li>
                                <li><a href="/article/2527.htm"
                                       title="简单排序:归并排序" target="_blank">简单排序:归并排序</a>
                                    <span class="text-muted">dieslrae</span>
<a class="tag" taget="_blank" href="/search/%E5%BD%92%E5%B9%B6%E6%8E%92%E5%BA%8F/1.htm">归并排序</a>
                                    <div>
    public void mergeSort(int[] array){
        int temp = array.length/2;
        
        if(temp == 0){
            return;
        }
        
        int[] a = new int[temp];
        int</div>
                                </li>
                                <li><a href="/article/2654.htm"
                                       title="C语言中字符串的\0和空格" target="_blank">C语言中字符串的\0和空格</a>
                                    <span class="text-muted">dcj3sjt126com</span>
<a class="tag" taget="_blank" href="/search/c/1.htm">c</a>
                                    <div>   \0 为字符串结束符,比如说: 
                      abcd (空格)cdefg; 
存入数组时,空格作为一个字符占有一个字节的空间,我们</div>
                                </li>
                                <li><a href="/article/2781.htm"
                                       title="解决Composer国内速度慢的办法" target="_blank">解决Composer国内速度慢的办法</a>
                                    <span class="text-muted">dcj3sjt126com</span>
<a class="tag" taget="_blank" href="/search/Composer/1.htm">Composer</a>
                                    <div>用法: 
有两种方式启用本镜像服务: 
1 将以下配置信息添加到 Composer 的配置文件 config.json 中(系统全局配置)。见“例1” 
2 将以下配置信息添加到你的项目的 composer.json 文件中(针对单个项目配置)。见“例2” 
为了避免安装包的时候都要执行两次查询,切记要添加禁用 packagist 的设置,如下      1   2   3   4   5    </div>
                                </li>
                                <li><a href="/article/2908.htm"
                                       title="高效可伸缩的结果缓存" target="_blank">高效可伸缩的结果缓存</a>
                                    <span class="text-muted">shuizhaosi888</span>
<a class="tag" taget="_blank" href="/search/%E9%AB%98%E6%95%88%E5%8F%AF%E4%BC%B8%E7%BC%A9%E7%9A%84%E7%BB%93%E6%9E%9C%E7%BC%93%E5%AD%98/1.htm">高效可伸缩的结果缓存</a>
                                    <div>/**
 * 要执行的算法,返回结果v
 */
public interface Computable<A, V> {
	public V comput(final A arg);

}
 
  
/**
 * 用于缓存数据
 */
public class Memoizer<A, V> implements Computable<A, </div>
                                </li>
                                <li><a href="/article/3035.htm"
                                       title="三点定位的算法" target="_blank">三点定位的算法</a>
                                    <span class="text-muted">haoningabc</span>
<a class="tag" taget="_blank" href="/search/c/1.htm">c</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a>
                                    <div>三点定位, 
已知a,b,c三个顶点的x,y坐标 
和三个点都z坐标的距离,la,lb,lc 
 
求z点的坐标 
原理就是围绕a,b,c 三个点画圆,三个圆焦点的部分就是所求 
但是,由于三个点的距离可能不准,不一定会有结果, 
所以是三个圆环的焦点,环的宽度开始为0,没有取到则加1 
运行 
gcc -lm test.c 
test.c代码如下 
 

#include "stdi</div>
                                </li>
                                <li><a href="/article/3162.htm"
                                       title="epoll使用详解" target="_blank">epoll使用详解</a>
                                    <span class="text-muted">jimmee</span>
<a class="tag" taget="_blank" href="/search/c/1.htm">c</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/%E6%9C%8D%E5%8A%A1%E7%AB%AF%E7%BC%96%E7%A8%8B/1.htm">服务端编程</a><a class="tag" taget="_blank" href="/search/epoll/1.htm">epoll</a>
                                    <div>epoll - I/O event notification facility在linux的网络编程中,很长的时间都在使用select来做事件触发。在linux新的内核中,有了一种替换它的机制,就是epoll。相比于select,epoll最大的好处在于它不会随着监听fd数目的增长而降低效率。因为在内核中的select实现中,它是采用轮询来处理的,轮询的fd数目越多,自然耗时越多。并且,在linu</div>
                                </li>
                                <li><a href="/article/3289.htm"
                                       title="Hibernate对Enum的映射的基本使用方法" target="_blank">Hibernate对Enum的映射的基本使用方法</a>
                                    <span class="text-muted">linzx0212</span>
<a class="tag" taget="_blank" href="/search/enum/1.htm">enum</a><a class="tag" taget="_blank" href="/search/Hibernate/1.htm">Hibernate</a>
                                    <div>  
枚举 
  
/**
 * 性别枚举
 */
public enum Gender {

    MALE(0), FEMALE(1), OTHER(2);

    private Gender(int i) {
        this.i = i;
    }

    private int i;

    public int getI</div>
                                </li>
                                <li><a href="/article/3416.htm"
                                       title="第10章 高级事件(下)" target="_blank">第10章 高级事件(下)</a>
                                    <span class="text-muted">onestopweb</span>
<a class="tag" taget="_blank" href="/search/%E4%BA%8B%E4%BB%B6/1.htm">事件</a>
                                    <div>index.html 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/</div>
                                </li>
                                <li><a href="/article/3543.htm"
                                       title="孙子兵法" target="_blank">孙子兵法</a>
                                    <span class="text-muted">roadrunners</span>
<a class="tag" taget="_blank" href="/search/%E5%AD%99%E5%AD%90/1.htm">孙子</a><a class="tag" taget="_blank" href="/search/%E5%85%B5%E6%B3%95/1.htm">兵法</a>
                                    <div>始计第一 
 
孙子曰: 
兵者,国之大事,死生之地,存亡之道,不可不察也。 
故经之以五事,校之以计,而索其情:一曰道,二曰天,三曰地,四曰将,五 
曰法。道者,令民于上同意,可与之死,可与之生,而不危也;天者,阴阳、寒暑 
、时制也;地者,远近、险易、广狭、死生也;将者,智、信、仁、勇、严也;法 
者,曲制、官道、主用也。凡此五者,将莫不闻,知之者胜,不知之者不胜。故校 
之以计,而索其情,曰</div>
                                </li>
                                <li><a href="/article/3670.htm"
                                       title="MySQL双向复制" target="_blank">MySQL双向复制</a>
                                    <span class="text-muted">tomcat_oracle</span>
<a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a>
                                    <div>本文包括: 
 
  主机配置  
  从机配置  
  建立主-从复制  
  建立双向复制  
 
  背景 
按照以下简单的步骤: 
参考一下: 
 
  在机器A配置主机(192.168.1.30)  
  在机器B配置从机(192.168.1.29)  
  我们可以使用下面的步骤来实现这一点  
 
  
步骤1:机器A设置主机 
 
  在主机中打开配置文件 , </div>
                                </li>
                                <li><a href="/article/3797.htm"
                                       title="zoj 3822 Domination(dp)" target="_blank">zoj 3822 Domination(dp)</a>
                                    <span class="text-muted">阿尔萨斯</span>
<a class="tag" taget="_blank" href="/search/Mina/1.htm">Mina</a>
                                    <div> 题目链接:zoj 3822 Domination 
 题目大意:给定一个N∗M的棋盘,每次任选一个位置放置一枚棋子,直到每行每列上都至少有一枚棋子,问放置棋子个数的期望。 
 解题思路:大白书上概率那一张有一道类似的题目,但是因为时间比较久了,还是稍微想了一下。dp[i][j][k]表示i行j列上均有至少一枚棋子,并且消耗k步的概率(k≤i∗j),因为放置在i+1~n上等价与放在i+1行上,同理</div>
                                </li>
                </ul>
            </div>
        </div>
    </div>

<div>
    <div class="container">
        <div class="indexes">
            <strong>按字母分类:</strong>
            <a href="/tags/A/1.htm" target="_blank">A</a><a href="/tags/B/1.htm" target="_blank">B</a><a href="/tags/C/1.htm" target="_blank">C</a><a
                href="/tags/D/1.htm" target="_blank">D</a><a href="/tags/E/1.htm" target="_blank">E</a><a href="/tags/F/1.htm" target="_blank">F</a><a
                href="/tags/G/1.htm" target="_blank">G</a><a href="/tags/H/1.htm" target="_blank">H</a><a href="/tags/I/1.htm" target="_blank">I</a><a
                href="/tags/J/1.htm" target="_blank">J</a><a href="/tags/K/1.htm" target="_blank">K</a><a href="/tags/L/1.htm" target="_blank">L</a><a
                href="/tags/M/1.htm" target="_blank">M</a><a href="/tags/N/1.htm" target="_blank">N</a><a href="/tags/O/1.htm" target="_blank">O</a><a
                href="/tags/P/1.htm" target="_blank">P</a><a href="/tags/Q/1.htm" target="_blank">Q</a><a href="/tags/R/1.htm" target="_blank">R</a><a
                href="/tags/S/1.htm" target="_blank">S</a><a href="/tags/T/1.htm" target="_blank">T</a><a href="/tags/U/1.htm" target="_blank">U</a><a
                href="/tags/V/1.htm" target="_blank">V</a><a href="/tags/W/1.htm" target="_blank">W</a><a href="/tags/X/1.htm" target="_blank">X</a><a
                href="/tags/Y/1.htm" target="_blank">Y</a><a href="/tags/Z/1.htm" target="_blank">Z</a><a href="/tags/0/1.htm" target="_blank">其他</a>
        </div>
    </div>
</div>
<footer id="footer" class="mb30 mt30">
    <div class="container">
        <div class="footBglm">
            <a target="_blank" href="/">首页</a> -
            <a target="_blank" href="/custom/about.htm">关于我们</a> -
            <a target="_blank" href="/search/Java/1.htm">站内搜索</a> -
            <a target="_blank" href="/sitemap.txt">Sitemap</a> -
            <a target="_blank" href="/custom/delete.htm">侵权投诉</a>
        </div>
        <div class="copyright">版权所有 IT知识库 CopyRight © 2000-2050 E-COM-NET.COM , All Rights Reserved.
<!--            <a href="https://beian.miit.gov.cn/" rel="nofollow" target="_blank">京ICP备09083238号</a><br>-->
        </div>
    </div>
</footer>
<!-- 代码高亮 -->
<script type="text/javascript" src="/static/syntaxhighlighter/scripts/shCore.js"></script>
<script type="text/javascript" src="/static/syntaxhighlighter/scripts/shLegacy.js"></script>
<script type="text/javascript" src="/static/syntaxhighlighter/scripts/shAutoloader.js"></script>
<link type="text/css" rel="stylesheet" href="/static/syntaxhighlighter/styles/shCoreDefault.css"/>
<script type="text/javascript" src="/static/syntaxhighlighter/src/my_start_1.js"></script>





</body>

</html>