python爬虫实战-网易BUFF CSGO饰品

python爬虫实战-网易BUFF CSGO饰品

寒假迷上了csgo,一方面对这个纯粹的枪战游戏着迷,另一方面对精美的饰品着迷。众所周知,csgo是个理财游戏饰品游戏,能够掌握到喜欢饰品的价格就可以得到炼金收益,掌握其动态变化可以当倒爷(不提倡)。

本文是本人首个爬虫项目的实战,适合大家练手。疫情期间受到博主puppylpg的启发,自己也边学边做摸石头过河。话不多说先上效果图

python爬虫实战-网易BUFF CSGO饰品_第1张图片

目录

  • python爬虫实战-网易BUFF CSGO饰品
  • Request库介绍
    • 获取header,cookies
  • 分析API
    • 获取Category_list
  • 分析页面
  • 饰品武器箱
  • 饰品历史价格
  • 总结

Request库介绍

你浏览到的网页都有对应的源代码,具体查看方式是利用有Chrome核的浏览器右键然后查看源代码,而request库的作用就是获取其页面的源代码。
python爬虫实战-网易BUFF CSGO饰品_第2张图片
request库的调用import requests
一个请求指令需要包含:
response = requests.get(url, headers, cookies)
其中url是请求路径,headers是请求头,cookies是请求身份文件。
通常在登录后你的cookies跟headers就确定了。

获取header,cookies

首先需要登陆buff,登陆过后右键页面点检查,刷新可以查看你本机的header核cookies
python爬虫实战-网易BUFF CSGO饰品_第3张图片

headers = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36',
    }
    # cookie
    cookie_str = r'Device-Id=xLoPYA08mzx1RcfxWgJ7; Locale-Supported=zh-Hans; game=csgo; _ga=GA1.2.308981242.1590934310; _gid=GA1.2.1199922105.1591931691; NTES_YD_SESS=ibf9I12bOgxvKCyxN2P3JoQtaAcvZGsJXKGNOEdpOTkD5CnFOwbg6tpHCs4mpmrOfn3nyBCzmupp1Xja1RhK1BkZRbFbI.5zzW.kjFHpMfDXjiFRh0664TPZynx.teVt43efjkfBDzsGdK9WE4cCONux_NiUXwAJYKH67Ni5EPG2ypuWiHwHwY1dCFUEWQ4lR2U42gbXpQscfik7gAAdLCxxA8gg1V8aOxu71AI_usoRq; S_INFO=1591931716|0|3&80##|18588891371; P_INFO=18588891371|1591931716|1|netease_buff|00&99|null&null&null#CN&null#10#0|&0|null|18588891371; session=1-XJCjTQFMSIgRQUkgJTN9xoP1nvWaLC0KpoJ8E9M-A5N62043038656; _gat_gtag_UA_109989484_1=1; csrf_token=IjQxZTQ3MTFhZmE5M2QwMzU1MWFkYmViN2IzYTQwMjExODA4NzY3ZjUi.EcSFQg.StET4McSLh1iM2IH1Gkjpq2Pwe0'
    cookies = {}
    for line in cookie_str.split(';'):
        key, value = line.split('=', 1)
        cookies[key] = value

具体的更多request库的应用请

分析API

进入buff的csgo饰品专栏(https://buff.163.com/market/?game=csgo#tab=selling&page_num=1)后可以看见
python爬虫实战-网易BUFF CSGO饰品_第4张图片
这就说明,我们只需找到这全部目录下的该武器种类的全部饰品皮肤对应的id,逐个请求就可以找到相应饰品的信息。
随便点开一个款武器种类(以ak47为例)检查其源代码,检查请求的内容。发现在这里插入图片描述
这个.json文件中大有乾坤

 "items": [
      {
        "appid": 730, 
        "bookmarked": false, 
        "buy_max_price": "193", 
        "buy_num": 22, 
        "description": null, 
        "game": "csgo", 
        "goods_info": {
          "icon_url": "https://g.fp.ps.netease.com/market/file/5aa0c2f769b21ae0f25da300W8ER6ycS", 
          "info": {
            "tags": {
              "exterior": {
                "category": "exterior", 
                "internal_name": "wearcategory2", 
                "localized_name": "\u4e45\u7ecf\u6c99\u573a"
              }, 
              "quality": {
                "category": "quality", 
                "internal_name": "strange", 
                "localized_name": "StatTrak\u2122"
              }, 
              "rarity": {
                "category": "rarity", 
                "internal_name": "legendary_weapon", 
                "localized_name": "\u4fdd\u5bc6"
              }, 
              "type": {
                "category": "type", 
                "internal_name": "csgo_type_rifle", 
                "localized_name": "\u6b65\u67aa"
              }, 
              "weapon": {
                "category": "weapon", 
                "internal_name": "weapon_ak47", 
                "localized_name": "AK-47"
              }
            }
          }, 
          "item_id": null, 
          "original_icon_url": "https://g.fp.ps.netease.com/market/file/5a7abfa516b6d4ab48222b6f9v9qaRgs", 
          "steam_price": "43.1", 
          "steam_price_cny": "304.51"
        }, 
        "has_buff_price_history": true, 
        "id": 38220, 
        "market_hash_name": "StatTrak\u2122 AK-47 | Redline (Field-Tested)", 
        "market_min_price": "0", 
        "name": "AK-47\uff08StatTrak\u2122\uff09 | \u7ea2\u7ebf (\u4e45\u7ecf\u6c99\u573a)", 
        "quick_price": "197.4", 
        "sell_min_price": "197.9", 
        "sell_num": 1539, 
        "sell_reference_price": "197.9", 
        "steam_market_url": "https://steamcommunity.com/market/listings/730/StatTrak%E2%84%A2%20AK-47%20%7C%20Redline%20%28Field-Tested%29", 
        "transacted_num": 0
      }, 

它包含了武器id,英文名,最低售价,最高售价等关键信息。所以这个请求url就是我们需要的APIhttps://buff.163.com/api/market/goods?game=csgo&page_num=1&category=weapon_ak47&_=1591941311097
最后面的数字是相对时间,可以去除。所以到了这一步,我们需要先找到所有类别的标签Category整理成list,逐一请求即可。
https://buff.163.com/api/market/goods?game=csgo&page_num=1&category=+categorylist[i]

获取Category_list

进入Buff中CSGO饰品市场首页https://buff.163.com/market/?game=csgo#tab=selling&page_num=1,查看源代码
观察到目录的形式是以

  • FN57形式呈现。
    故直接请求该页面,利用正则匹配表达式(re库)提取引号内的内容。

    source_page_url = "https://buff.163.com/market/?game=csgo#tab=selling&page_num=1"
    cat_response = requests.get(url=source_page_url, headers=headers, cookies=cookies)
    html_text0 = cat_response.text
    # 找出各个武器种类
    category_list = re.findall( r'li value="weapon_(.+?)">', html_text0, re.M)
    for i in range(len(category_list)):
        category_list[i] = "weapon_" + category_list[i]
    

    分析页面

    利用正则匹配,将物品的id,名字,价格一一归类。
    需要注意的是一个api中page_num=1,需要获取总页码数量,并切换继续爬取信息。

    for i in range(len(category_list)):
        # 获取不同物件名称
        # 标准url:https://buff.163.com/api/market/goods?game=csgo&page_num=1&category=weapon_knife_butterfly
        category_url = "&category=" + category_list[i]
        first_url = 'https://buff.163.com/api/market/goods?game=csgo&page_num=1' + category_url
        # 获取单一物件的总页码
        page_response = requests.get(url=first_url, headers=headers, cookies=cookies)
        html_text1 = page_response.text
        page_num_list = re.findall(r'"total_page": (.*)', html_text1, re.M)
        page_num = page_num_list[0]
    
    # 获取名字和价格
    names_list_temp = re.findall(r'"market_hash_name": "(.*)",', html_text2, re.M)
    price_list_temp = re.findall(r'"sell_min_price": "(.*)",', html_text2, re.M)
    id_list_temp = re.findall(r'"id": (.*),', html_text2, re.M)
    

    注意用try语句记录爬取出错的数据节点,否则一出异常的话前面爬下来的信息可能都会丢失。
    将数据保存成csv文件,方便后续访问。

    # 汇合信息写成表格并保存
    csv_name = ["id","name","price"]
    csv_data = zip(id_list,names_list,price_list)
    items_information = pd.DataFrame(columns=csv_name, data=csv_data)
    items_information.to_csv("items_information.csv")
    

    python爬虫实战-网易BUFF CSGO饰品_第5张图片
    得到如此数据

    饰品武器箱

    了解到饰品来源武器箱可以更直观地为后面炼金的成本以及收益铺垫。
    下面只爬取崭新出厂以及无计数器的武器饰品。
    先从上面的csv文件中,将Factory New的武器筛选出来,有了他们的id就能够前往具体的页面。
    以崭新黑色魅影AWP为例https://buff.163.com/market/goods?goods_id=763243&from=market#tab=selling,其源代码中第一行就包含了该武器的全部信息。

    <html> <head><title>AWP | 黑色魅影 (崭新出厂)_CS:GO饰品交易_网易BUFF</title><meta content="text/html; charset=utf-8" http-equiv="Content-Type"><meta name="csrf_token" content="IjQxZTQ3MTFhZmE5M2QwMzU1MWFkYmViN2IzYTQwMjExODA4NzY3ZjUi.EcS1EA.Mv46cvhCLjco-Kj0f5ITOI3g3Pk"><meta name="keywords" content="AWP | 黑色魅影 (崭新出厂),崭新出厂,普通,AWP,狙击步枪,隐秘,步枪,AWP,头号特训收藏品,黑,大姐姐,黑色魅影,“头号特训”武器箱,csgo饰品交易,csgo皮肤交易,csgo国服饰品交易,csgo低价饰品,csgo饰品商城,饰品磨损排名查询,csgo饰品检视"><meta name="description" content="网易BUFF游戏饰品皮肤交易平台,专注更安全,更便捷,更高效的CS:GO饰品皮肤交易服务- AWP | 黑色魅影 (崭新出厂),崭新出厂,普通,AWP,狙击步枪,隐秘,步枪,AWP,头号特训收藏品,黑,大姐姐,黑色魅影,“头号特训”武器箱。">
    

    同样的利用正则匹配,将他们分类,是保密还是隐秘,出自哪个武器箱都分类好。

     items_type = ["消费", "工业", "军规", "受限", "保密", "隐秘"]
    
    # 找出各个武器的中文名字
    chinese_list = re.findall(r'(.*?)_CS:GO饰品交易'</span><span class="token punctuation">,</span> html_text4<span class="token punctuation">,</span> re<span class="token punctuation">.</span>M<span class="token punctuation">)</span>
    <span class="token comment"># 找出所属箱子</span>
    box_list <span class="token operator">=</span> re<span class="token punctuation">.</span>findall<span class="token punctuation">(</span>r<span class="token string">',(.*?)收藏品,'</span><span class="token punctuation">,</span> html_text4<span class="token punctuation">,</span> re<span class="token punctuation">.</span>M<span class="token punctuation">)</span>
    <span class="token keyword">if</span> box_list <span class="token operator">==</span> <span class="token punctuation">[</span><span class="token punctuation">]</span><span class="token punctuation">:</span>
        box_list <span class="token operator">=</span> re<span class="token punctuation">.</span>findall<span class="token punctuation">(</span>r<span class="token string">',(.*?)collection,'</span><span class="token punctuation">,</span> html_text4<span class="token punctuation">,</span> re<span class="token punctuation">.</span>M<span class="token punctuation">)</span>
    <span class="token comment"># 判断稀有度</span>
    <span class="token keyword">for</span> <span class="token builtin">str</span> <span class="token keyword">in</span> items_type<span class="token punctuation">:</span>
        <span class="token keyword">if</span> <span class="token builtin">str</span> <span class="token keyword">in</span> html_text4<span class="token punctuation">:</span>
            type_str <span class="token operator">=</span> <span class="token builtin">str</span>
            <span class="token keyword">break</span>
        <span class="token keyword">else</span><span class="token punctuation">:</span>
            <span class="token keyword">if</span> items_type<span class="token punctuation">.</span>index<span class="token punctuation">(</span><span class="token builtin">str</span><span class="token punctuation">)</span> <span class="token operator">==</span> <span class="token builtin">len</span><span class="token punctuation">(</span>items_type<span class="token punctuation">)</span><span class="token punctuation">:</span>
                type_str <span class="token operator">=</span> <span class="token string">"Na"</span>
                <span class="token keyword">print</span><span class="token punctuation">(</span><span class="token string">"type error occurd in id:"</span> <span class="token operator">+</span> <span class="token builtin">id</span><span class="token punctuation">)</span>
            <span class="token keyword">else</span><span class="token punctuation">:</span>
                <span class="token keyword">continue</span>
    </code></pre> 
      <p>爬取了一段时间后报错,发现有的武器没有箱子来源,故需要加上<strong>异常处理</strong>,避免辛辛苦苦爬半天的数据丢失。<br> 再次将信息绘制成csv表格</p> 
      <pre><code class="prism language-python">name <span class="token operator">=</span> <span class="token punctuation">[</span><span class="token string">"id"</span><span class="token punctuation">,</span> <span class="token string">"Chinese_name"</span><span class="token punctuation">,</span> <span class="token string">'belonging'</span><span class="token punctuation">,</span> <span class="token string">"type"</span><span class="token punctuation">,</span> <span class="token string">"price"</span><span class="token punctuation">]</span>
        data <span class="token operator">=</span> <span class="token builtin">zip</span><span class="token punctuation">(</span><span class="token builtin">list</span><span class="token punctuation">(</span>box_sort_dic<span class="token punctuation">.</span>keys<span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">,</span> <span class="token punctuation">[</span>x<span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span> <span class="token keyword">for</span> x <span class="token keyword">in</span> <span class="token builtin">list</span><span class="token punctuation">(</span>box_sort_dic<span class="token punctuation">.</span>values<span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">]</span><span class="token punctuation">,</span>
                   <span class="token punctuation">[</span>x<span class="token punctuation">[</span><span class="token number">1</span><span class="token punctuation">]</span> <span class="token keyword">for</span> x <span class="token keyword">in</span> <span class="token builtin">list</span><span class="token punctuation">(</span>box_sort_dic<span class="token punctuation">.</span>values<span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">]</span>
                   <span class="token punctuation">,</span> <span class="token punctuation">[</span>x<span class="token punctuation">[</span><span class="token number">2</span><span class="token punctuation">]</span> <span class="token keyword">for</span> x <span class="token keyword">in</span> <span class="token builtin">list</span><span class="token punctuation">(</span>box_sort_dic<span class="token punctuation">.</span>values<span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">]</span><span class="token punctuation">,</span> <span class="token punctuation">[</span>x<span class="token punctuation">[</span><span class="token number">3</span><span class="token punctuation">]</span> <span class="token keyword">for</span> x <span class="token keyword">in</span> <span class="token builtin">list</span><span class="token punctuation">(</span>box_sort_dic<span class="token punctuation">.</span>values<span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">]</span><span class="token punctuation">)</span>
        items_sorting <span class="token operator">=</span> pd<span class="token punctuation">.</span>DataFrame<span class="token punctuation">(</span>columns<span class="token operator">=</span>name<span class="token punctuation">,</span> data<span class="token operator">=</span>data<span class="token punctuation">)</span>
        items_sorting<span class="token punctuation">.</span>to_csv<span class="token punctuation">(</span><span class="token string">"items_sorting.csv"</span><span class="token punctuation">)</span>
    </code></pre> 
      <p>这就有了开头那样的数据图,是不是<mark>炼金党福音</mark>。<br> <a href="http://img.e-com-net.com/image/info8/1daf363111e4426892b757546ed7dc1d.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/1daf363111e4426892b757546ed7dc1d.jpg" alt="python爬虫实战-网易BUFF CSGO饰品_第6张图片" width="650" height="496" style="border:1px solid black;"></a></p> 
      <h1>饰品历史价格</h1> 
      <p>在爬取饰品的历史价格中,需要注意buff最多提供3个月的历史数据,而且要高闪券才能看近三个月的价格,感兴趣的小伙伴可以买一天的高闪券然后全部爬完慢慢欣赏。<br> 使用高闪券后来到<code>https://buff.163.com/market/goods?goods_id=763243&from=market#tab=price-chart</code>价格趋势页面,同样的<strong>检查浏览器</strong>中含有price_history的json文件,请求api如下:<code>https://buff.163.com/api/market/goods/price_history/buff?game=csgo&goods_id=776481¤cy=CNY&days=90</code><br> 同样的,只需改变id便可以找到对应饰品的历史价格。</p> 
      <pre><code class="prism language-python"> <span class="token string">"price_history"</span><span class="token punctuation">:</span> <span class="token punctuation">[</span>
          <span class="token punctuation">[</span>
            <span class="token number">1589356800000</span><span class="token punctuation">,</span> 
            <span class="token number">9255.0</span>
          <span class="token punctuation">]</span><span class="token punctuation">,</span> 
          <span class="token punctuation">[</span>
            <span class="token number">1589360400000</span><span class="token punctuation">,</span> 
            <span class="token number">19400.0</span>
          <span class="token punctuation">]</span><span class="token punctuation">,</span> 
          <span class="token punctuation">[</span>
            <span class="token number">1589371200000</span><span class="token punctuation">,</span> 
            <span class="token number">20400.0</span>
          <span class="token punctuation">]</span><span class="token punctuation">,</span> 
          <span class="token punctuation">[</span>
            <span class="token number">1589374800000</span><span class="token punctuation">,</span> 
            <span class="token number">19688.0</span>
          <span class="token punctuation">]</span><span class="token punctuation">,</span> 
          <span class="token punctuation">[</span>
            <span class="token number">1589378400000</span><span class="token punctuation">,</span> 
            <span class="token number">19642.0</span>
          <span class="token punctuation">]</span><span class="token punctuation">,</span> 
          <span class="token punctuation">[</span>
            <span class="token number">1589385600000</span><span class="token punctuation">,</span> 
            <span class="token number">24400.0</span>
          <span class="token punctuation">]</span><span class="token punctuation">,</span> 
          <span class="token punctuation">[</span>
            <span class="token number">1589428800000</span><span class="token punctuation">,</span> 
            <span class="token number">19500.0</span>
          <span class="token punctuation">]</span><span class="token punctuation">,</span> 
          <span class="token punctuation">[</span>
            <span class="token number">1589432400000</span><span class="token punctuation">,</span> 
            <span class="token number">19399.0</span>
          <span class="token punctuation">]</span><span class="token punctuation">,</span> 
          <span class="token punctuation">[</span>
            <span class="token number">1589436000000</span><span class="token punctuation">,</span> 
            <span class="token number">19000.0</span>
          <span class="token punctuation">]</span><span class="token punctuation">,</span> 
          <span class="token punctuation">[</span>
            <span class="token number">1589443200000</span><span class="token punctuation">,</span> 
            <span class="token number">19900.0</span>
          <span class="token punctuation">]</span><span class="token punctuation">,</span> 
          <span class="token punctuation">[</span>
            <span class="token number">1589450400000</span><span class="token punctuation">,</span> 
            <span class="token number">19498.0</span>
    </code></pre> 
      <p>这里只提供一个思路,具体实现代码就不呈现了。<br> 可以将爬到的历史价格数据可视化,也可以将数据喂入长短神经网络进行数值分析,把饰品当股票来玩。</p> 
      <h1>总结</h1> 
      <p>1.在爬虫的实际使用中,一定要是用time.sleep函数,否则一方面会对目标网站服务器造成巨大压力,另一方面各大网络的反爬机制中会对短时间大量访问的ip进行封禁,一般设立在0.5~1.5s之间,随机数更好。<br> 2.要做好异常处理,记录出错的数据节点,避免时间浪费。<br> 3.关注的人多的话会多出一期炼金分析,分享一下本人9%收益率的炼金模型。由于本人对炼金的机制也不是很清楚,欢迎小伙伴们留言给我提供更好的思路。</p> 
      <hr> 
      <p>2020年6月23日更新开源文件<br> https://github.com/CharlesDjl/personal</p> 
     </div> 
    </div>
                                </div>
                            </div>
                        </div>
                        <!--PC和WAP自适应版-->
                        <div id="SOHUCS" sid="1297631358205632512"></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">你可能感兴趣的:(python爬虫实战-网易BUFF CSGO饰品)</h4>
            <div id="paradigm-article-related">
                <div class="recommend-post mb30">
                    <ul class="widget-links">
                        <li><a href="/article/1943915626644959232.htm"
                               title="Python爬虫实战:利用最新技术爬取B站直播数据" target="_blank">Python爬虫实战:利用最新技术爬取B站直播数据</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/%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/html/1.htm">html</a><a class="tag" taget="_blank" href="/search/%E7%99%BE%E5%BA%A6/1.htm">百度</a>
                            <div>1.B站直播数据爬取概述B站(哔哩哔哩)是中国最大的年轻人文化社区和视频平台之一,其直播业务近年来发展迅速。爬取B站直播数据可以帮助我们分析直播市场趋势、热门主播排行、观众喜好等有价值的信息。常见的B站直播数据类型包括:直播间基本信息(标题、分类、主播信息)实时观看人数与弹幕数据礼物打赏数据直播历史记录分区热门直播数据本文将重点介绍如何获取直播间基本信息和分区热门直播数据。2.环境准备与工具选择2</div>
                        </li>
                        <li><a href="/article/1943819541721182208.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/%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/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/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%9F%A5%E8%AF%86%E5%9B%BE%E8%B0%B1/1.htm">知识图谱</a>
                            <div>摘要本文详细介绍了如何使用Python开发一个功能完善的定时签到爬虫系统。文章从爬虫基础知识讲起,逐步深入到高级技巧,包括异步请求处理、浏览器自动化、验证码破解、分布式架构等最新技术。我们将通过一个完整的定时签到项目案例,展示如何构建一个稳定、高效且具有良好扩展性的爬虫系统。文中提供了大量可运行的代码示例,涵盖requests、aiohttp、selenium、playwright等多种技术方案,</div>
                        </li>
                        <li><a href="/article/1943819542761369600.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/%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/scrapy/1.htm">scrapy</a><a class="tag" taget="_blank" href="/search/%E9%9F%B3%E8%A7%86%E9%A2%91/1.htm">音视频</a>
                            <div>一、前言在当今信息爆炸的时代,网络爬虫技术已经成为获取互联网数据的重要手段。作为国内权威新闻媒体,新华网每天发布大量高质量的新闻内容,这些数据对于舆情分析、市场研究、自然语言处理等领域具有重要价值。本文将详细介绍如何使用Python最新技术构建一个高效、稳定的新华网新闻爬虫系统。二、爬虫技术选型2.1技术栈选择在构建新华网爬虫时,我们选择了以下技术栈:请求库:httpx(支持HTTP/2,异步请求</div>
                        </li>
                        <li><a href="/article/1943567668808314880.htm"
                               title="常用邮箱的SMTP、POP3域名及其端口号" target="_blank">常用邮箱的SMTP、POP3域名及其端口号</a>
                            <span class="text-muted">*一起来找茬*</span>
    <a class="tag" taget="_blank" href="/search/smtp/1.htm">smtp</a>
                            <div>【需登陆web邮箱,设置-帐户,开通smtp/pop服务】QQ邮箱POP3:pop.qq.comSMTP:smtp.qq.comSMTP端口号:25网易163邮箱POP3:pop.163.comSMTP:smtp.163.comSMTP端口号:25网易vip.163邮箱POP3:pop.vip.163.comSMTP:smtp.vip.163.comSMTP端口号:25网易126邮箱POP3:po</div>
                        </li>
                        <li><a href="/article/1943516103640674304.htm"
                               title="产品经理案例学习库" target="_blank">产品经理案例学习库</a>
                            <span class="text-muted">火火PM打怪中</span>
    <a class="tag" taget="_blank" href="/search/%E4%BA%A7%E5%93%81%E7%BB%8F%E7%90%86/1.htm">产品经理</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0/1.htm">学习</a>
                            <div>以下是专为产品经理打造的高质量学习交流平台,均包含实战文档库和案例解析功能,按优先级推荐:国内垂直社区(支持中文文档浏览)平台名称文档资源亮点访问方式人人都是产品经理-专属【文档模板】专栏(PRD/BRD/MRD等)-大厂案例:腾讯/阿里产品需求文档解密-支持按行业筛选(SaaS/电商/AI等)www.woshipm.comPMCAFF-【原型档案馆】收录2000+真实产品原型-网易/美团产品总监</div>
                        </li>
                        <li><a href="/article/1943138810887991296.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/%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/scrapy/1.htm">scrapy</a><a class="tag" taget="_blank" href="/search/%E9%9F%B3%E8%A7%86%E9%A2%91/1.htm">音视频</a>
                            <div>一、前言:Python爬虫在现代数据获取中的重要性在当今信息爆炸的时代,数据已经成为最宝贵的资源之一。作为数据获取的重要手段,网络爬虫技术在各个领域发挥着越来越重要的作用。Python凭借其简洁的语法、丰富的库生态系统和强大的社区支持,已经成为网络爬虫开发的首选语言。本文将详细介绍如何使用Python及其最新的爬虫技术来爬取头条新闻数据。我们将从基础概念讲起,逐步深入到高级技巧,最后给出完整的爬虫</div>
                        </li>
                        <li><a href="/article/1943138683486007296.htm"
                               title="Python爬虫实战:爬取ETF基金持仓变化" target="_blank">Python爬虫实战:爬取ETF基金持仓变化</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/%E4%BF%A1%E6%81%AF%E5%8F%AF%E8%A7%86%E5%8C%96/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>1.项目背景ETF(Exchange-TradedFund,交易型开放式指数基金)作为一种在交易所上市交易的基金,其持仓信息对于投资者具有重要参考价值。了解ETF的持仓变化,可以帮助投资者判断市场趋势和资金流向。本文将通过Python爬虫技术,自动化地获取ETF基金的持仓变化数据,进行存储和分析。2.技术选型与环境准备2.1技术选型编程语言:Python3.8+爬虫框架:Scrapy数据解析:Be</div>
                        </li>
                        <li><a href="/article/1943052327984361472.htm"
                               title="Python爬虫实战:研究python-nameparser库相关技术" target="_blank">Python爬虫实战:研究python-nameparser库相关技术</a>
                            <span class="text-muted">ylfhpy</span>
    <a class="tag" taget="_blank" href="/search/%E7%88%AC%E8%99%AB%E9%A1%B9%E7%9B%AE%E5%AE%9E%E6%88%98/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/nameparser/1.htm">nameparser</a>
                            <div>1.引言在当今数字化时代,姓名作为个人身份的重要标识,在许多领域都有着广泛的应用需求。例如,在客户关系管理系统中,准确解析姓名可以帮助企业更好地了解客户背景;在学术研究中,分析作者姓名分布有助于发现研究团队的地域特征;在社交网络分析中,姓名信息可以辅助进行用户画像构建。然而,由于不同文化背景下姓名结构的多样性以及书写方式的差异,准确解析姓名成为一项具有挑战性的任务。Python作为一种功能强大的编</div>
                        </li>
                        <li><a href="/article/1943031659980976128.htm"
                               title="Python爬虫实战:利用Selenium与反反爬技术高效爬取天眼查企业信息" target="_blank">Python爬虫实战:利用Selenium与反反爬技术高效爬取天眼查企业信息</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/%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/scrapy/1.htm">scrapy</a><a class="tag" taget="_blank" href="/search/selenium/1.htm">selenium</a>
                            <div>摘要本文将详细介绍如何使用Python爬虫技术获取天眼查的企业信息数据。我们将从爬虫基础开始,逐步深入到高级反反爬技术,最终构建一个能够稳定获取天眼查数据的爬虫系统。文章包含完整的代码实现、技术原理分析以及实际应用场景,帮助读者全面掌握企业信息爬取的核心技术。关键词:Python爬虫、天眼查、Selenium、反反爬技术、企业信息采集、数据挖掘一、引言在当今大数据时代,企业信息数据对于市场分析、商</div>
                        </li>
                        <li><a href="/article/1942858087555723264.htm"
                               title="Python爬虫实战:研究HTTP Agent Parser 库相关技术" target="_blank">Python爬虫实战:研究HTTP Agent Parser 库相关技术</a>
                            <span class="text-muted">ylfhpy</span>
    <a class="tag" taget="_blank" href="/search/%E7%88%AC%E8%99%AB%E9%A1%B9%E7%9B%AE%E5%AE%9E%E6%88%98/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/http/1.htm">http</a>
                            <div>1.引言1.1研究背景与意义在当今数字化时代,网络数据作为一种重要的信息资源,在商业决策、学术研究、社会分析等领域发挥着越来越重要的作用。网络爬虫作为一种自动获取网页内容的技术,成为了获取这些数据的重要工具。然而,随着网络爬虫的广泛使用,网站也采取了各种反爬机制来保护自身数据和服务安全。其中,用户代理(User-Agent)检测是一种常见的反爬手段。网站通过分析请求的User-Agent信息,识别</div>
                        </li>
                        <li><a href="/article/1942857960623501312.htm"
                               title="Python爬虫实战:研究pyparsing工具相关技术" target="_blank">Python爬虫实战:研究pyparsing工具相关技术</a>
                            <span class="text-muted">ylfhpy</span>
    <a class="tag" taget="_blank" href="/search/%E7%88%AC%E8%99%AB%E9%A1%B9%E7%9B%AE%E5%AE%9E%E6%88%98/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/pyparsing/1.htm">pyparsing</a><a class="tag" taget="_blank" href="/search/%E6%96%87%E6%9C%AC%E5%A4%84%E7%90%86/1.htm">文本处理</a><a class="tag" taget="_blank" href="/search/%E6%96%87%E6%9C%AC%E5%88%86%E6%9E%90/1.htm">文本分析</a>
                            <div>1.引言在当今信息爆炸的时代,网络上存在着海量的非结构化文本数据。如何从这些数据中提取有价值的信息,成为了数据科学领域的一个重要研究方向。网络爬虫技术可以帮助我们自动获取这些数据,而Pyparsing则提供了强大的语法分析能力,可以将非结构化的文本转换为结构化的信息。本文将介绍一个完整的案例,展示如何使用Python的爬虫技术结合Pyparsing工具,构建一个网络内容分析系统。该系统可以爬取特定</div>
                        </li>
                        <li><a href="/article/1942845734852292608.htm"
                               title="Python爬虫实战:研究phonenumbers工具相关技术" target="_blank">Python爬虫实战:研究phonenumbers工具相关技术</a>
                            <span class="text-muted">ylfhpy</span>
    <a class="tag" taget="_blank" href="/search/%E7%88%AC%E8%99%AB%E9%A1%B9%E7%9B%AE%E5%AE%9E%E6%88%98/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/phonenumbers/1.htm">phonenumbers</a>
                            <div>1.引言1.1研究背景与意义电话号码作为重要的联系方式,在现代社会中具有广泛的应用价值。在商业领域,企业需要准确识别客户电话号码的归属地和运营商信息,以便进行精准营销和客户服务;在社交网络分析中,电话号码可以作为用户身份识别和关系挖掘的重要依据;在公共安全领域,电话号码的快速分析有助于案件侦破和紧急救援。然而,电话号码的格式在全球范围内存在较大差异,不同国家和地区有不同的编码规则和书写习惯。例如,</div>
                        </li>
                        <li><a href="/article/1942811950975086592.htm"
                               title="Python 爬虫实战:爬取网易公开课(课程列表解析 + 视频资源批量下载)" target="_blank">Python 爬虫实战:爬取网易公开课(课程列表解析 + 视频资源批量下载)</a>
                            <span class="text-muted">Python核芯</span>
    <a class="tag" taget="_blank" href="/search/Python%E7%88%AC%E8%99%AB%E5%AE%9E%E6%88%98%E9%A1%B9%E7%9B%AE/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/%E9%9F%B3%E8%A7%86%E9%A2%91/1.htm">音视频</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E6%98%93/1.htm">网易</a>
                            <div>一、引言在数字化学习蓬勃发展的当下,网易公开课作为优质在线教育平台,汇聚了海量精品课程,涵盖科技、文化、艺术等多元领域,为求知者提供了便捷的学习渠道。然而,面对丰富的内容,手动逐一浏览、下载课程视频既耗时又低效,尤其对于想要系统学习特定领域知识的用户而言,亟需更高效的解决方案。Python爬虫技术凭借其强大的自动化数据获取能力,可轻松应对这一挑战,实现网易公开课课程列表的精准解析与视频资源的批量下</div>
                        </li>
                        <li><a href="/article/1942800229518602240.htm"
                               title="Python爬虫实战:使用Scrapy和Selenium高效爬取USPTO美国专利数据" target="_blank">Python爬虫实战:使用Scrapy和Selenium高效爬取USPTO美国专利数据</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/%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/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a><a class="tag" taget="_blank" href="/search/selenium/1.htm">selenium</a><a class="tag" taget="_blank" href="/search/%E6%B5%8B%E8%AF%95%E5%B7%A5%E5%85%B7/1.htm">测试工具</a>
                            <div>引言在当今的知识经济时代,专利数据蕴含着巨大的商业和技术价值。美国专利商标局(USPTO)作为全球最大的专利数据库之一,收录了数百万项专利信息,这些数据对于企业竞争分析、技术趋势预测和学术研究都具有重要意义。本文将详细介绍如何使用Python构建一个高效、稳定的USPTO专利数据爬虫系统。一、USPTO专利数据库概述1.1USPTO数据库结构USPTO提供了多种访问专利数据的途径:专利全文和图像数</div>
                        </li>
                        <li><a href="/article/1942800103085502464.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/%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/scrapy/1.htm">scrapy</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0/1.htm">学习</a><a class="tag" taget="_blank" href="/search/dubbo/1.htm">dubbo</a><a class="tag" taget="_blank" href="/search/%E7%99%BE%E5%BA%A6/1.htm">百度</a>
                            <div>1.前言随着学术资源数字化的普及,百度学术成为学者们常用的论文搜索平台。获取大量论文摘要信息对于文献综述、知识图谱构建等研究极为重要。本文将系统讲解如何利用Python编写爬虫,批量抓取百度学术上的论文摘要。我们将结合最新Python爬虫技术,涵盖基础同步爬虫、异步爬虫、多线程,全面实战演示。2.项目背景与目标百度学术支持通过关键词搜索论文,展示论文标题、作者、期刊、摘要等信息。目标是:根据关键词</div>
                        </li>
                        <li><a href="/article/1942799976753065984.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/%E8%83%BD%E6%BA%90/1.htm">能源</a><a class="tag" taget="_blank" href="/search/selenium/1.htm">selenium</a>
                            <div>1.背景介绍:为什么爬网易云音乐热评?网易云音乐是中国最受欢迎的音乐平台之一,其用户活跃度极高。评论区往往蕴含丰富的情感表达和用户反馈,是音乐数据分析、情感分析、推荐算法等领域的宝贵数据源。爬取热评可以用于:歌曲口碑分析用户情绪挖掘热门歌曲趋势追踪机器学习训练数据准备但网易云音乐对评论接口进行了加密,直接请求很难成功。本文将帮你攻克这一难点。2.网易云音乐热评接口分析我们首先用浏览器开发者工具(C</div>
                        </li>
                        <li><a href="/article/1942577726837813248.htm"
                               title="24-25必看-求求大家投下美团,发的offer鸽麻了重新招" target="_blank">24-25必看-求求大家投下美团,发的offer鸽麻了重新招</a>
                            <span class="text-muted">愤怒的小青春</span>
    <a class="tag" taget="_blank" href="/search/java/1.htm">java</a>
                            <div>第十七天打卡#和牛牛一起刷题打卡#第十七天打卡咯,继续坚持#和牛牛一起刷题打卡#暑假实习还有吗还能找暑假实习吗??求救网易互娱暑期杭州有人收到hr面了吗网易互娱暑期杭州有人收到hr面了吗好慌呀#网易##网易互娱##实习#刷题打卡6.13#和牛牛一起刷题打卡#实习天天坐着摆烂焦虑了几个月来了亚信实习,结果天天躺尸,而且技术栈很老,主要也就是运营商的业务,感觉没啥技术含量。跪求OC目前字节挂,百度挂,</div>
                        </li>
                        <li><a href="/article/1942399130831745024.htm"
                               title="有了 25k Star 的MediaCrawler爬虫库加持,三分钟搞定某红书、某音等平台爬取!" target="_blank">有了 25k Star 的MediaCrawler爬虫库加持,三分钟搞定某红书、某音等平台爬取!</a>
                            <span class="text-muted"></span>
    <a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF%E5%90%8E%E7%AB%AF%E7%88%AC%E8%99%AB/1.htm">前端后端爬虫</a>
                            <div>大家好,我是程序员凌览。今天给大家介绍一个超实用的Python爬虫实战项目——MediaCrawler。这个项目可以实现小红书、抖音、快手、B站和微博的爬虫功能,覆盖了当下热门的自媒体平台。它能够高效抓取这些平台上的视频、图片、评论、点赞和转发等信息。MediaCrawler支持的平台及功能如下图:快速开始下载项目代码访问MediaCrawlerGitHub仓库,点击“Code”按钮下载项目代码。</div>
                        </li>
                        <li><a href="/article/1942211956916154368.htm"
                               title="Python爬虫实战:研究chardet库相关技术" target="_blank">Python爬虫实战:研究chardet库相关技术</a>
                            <span class="text-muted">ylfhpy</span>
    <a class="tag" taget="_blank" href="/search/%E7%88%AC%E8%99%AB%E9%A1%B9%E7%9B%AE%E5%AE%9E%E6%88%98/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/chardet/1.htm">chardet</a>
                            <div>1.引言1.1研究背景与意义在互联网信息爆炸的时代,网络数据采集技术已成为信息获取、数据分析和知识发现的重要手段。Python作为一种高效的编程语言,凭借其丰富的第三方库和简洁的语法,成为爬虫开发的首选语言之一。然而,在网络数据采集中,文本编码的多样性和不确定性一直是困扰开发者的主要问题之一。不同网站可能采用不同的编码方式(如UTF-8、GBK、GB2312等),甚至同一网站的不同页面也可能使用不</div>
                        </li>
                        <li><a href="/article/1941855700506439680.htm"
                               title="网卡驱动及dpdk的使用" target="_blank">网卡驱动及dpdk的使用</a>
                            <span class="text-muted"></span>
    
                            <div>网卡网卡把光电信号转换成数字信号网络协议栈通常指tcp/ip各层网络协议,ARP、ICMP、IP、TCP/UDP、HTTP/SFTP等dpdk使用数据传输全过程:非dpdk模式下接收数据网卡接收到数据,产生中断通知cpu,cpu使用驱动将网卡中的缓存信息读取到内存中,后续各协议栈、应用层因此解析读取此信息。其中信息,都是通过驱动采集到的sk_buff来传递的。发送数据获得目的MAC地址,根据ARP</div>
                        </li>
                        <li><a href="/article/1941696496676171776.htm"
                               title="Unity-MMORPG内容笔记-其三" target="_blank">Unity-MMORPG内容笔记-其三</a>
                            <span class="text-muted">KhalilRuan</span>
    <a class="tag" taget="_blank" href="/search/%E7%AC%94%E8%AE%B0/1.htm">笔记</a>
                            <div>继续之前的内容:战斗系统无需多言,整个项目中最复杂的部分,也是代码量最大的部分。属性系统首先我们要定义一系列属性,毕竟所谓的战斗就是不断地扣血对吧。属性系统是战斗系统的核心模块,负责管理角色的所有属性数据,包括初始属性、成长属性、装备加成和Buff效果,并通过多阶段计算得出最终属性值。系统支持属性实时更新,当角色等级提升、装备变化或Buff增减时,会自动重新计算并同步属性数据。属性含义说明-Max</div>
                        </li>
                        <li><a href="/article/1941055354733391872.htm"
                               title="3.python爬虫实战:爬取数据并存储在excel中【Python】(测试代码+api例程)" target="_blank">3.python爬虫实战:爬取数据并存储在excel中【Python】(测试代码+api例程)</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/%23/1.htm">#</a><a class="tag" taget="_blank" href="/search/%E7%88%AC%E8%99%AB%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90%E5%8F%AF%E8%A7%86%E5%8C%96%E5%AE%9E%E6%88%98/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/%E6%95%B0%E6%8D%AE%E6%8C%96%E6%8E%98/1.htm">数据挖掘</a>
                            <div>目录API说明:思路注意事项完整代码总结欢迎关注『Python』系列,持续更新中欢迎关注『Python』系列,持续更新中爬取近5年的中国大学排行榜信息,在python爬虫爬取2021中国大学排名实战【Python】(测试代码+api例程)在python爬取近5年的中国大学排行榜信息【Python】(测试代码+api例程)基础上完成,建议先观看前面的文章API说明:“%10s%10s%10s”%(“</div>
                        </li>
                        <li><a href="/article/1940758468088623104.htm"
                               title="Python爬虫实战:研究httplib2库相关技术" target="_blank">Python爬虫实战:研究httplib2库相关技术</a>
                            <span class="text-muted">ylfhpy</span>
    <a class="tag" taget="_blank" href="/search/%E7%88%AC%E8%99%AB%E9%A1%B9%E7%9B%AE%E5%AE%9E%E6%88%98/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/php/1.htm">php</a><a class="tag" taget="_blank" href="/search/httplib2/1.htm">httplib2</a>
                            <div>1.引言1.1研究背景与意义随着互联网的快速发展,网络上的信息量呈爆炸式增长。如何从海量的网页中高效地获取有价值的数据,成为了当前信息技术领域的一个重要研究课题。网络爬虫作为一种自动获取互联网信息的程序,能够按照一定的规则,自动地抓取网页内容并提取和整理信息,为信息检索、数据分析、机器学习等领域提供了丰富的数据来源。在电子商务领域,爬虫可以用于价格监控、竞品分析和市场调研;在学术研究中,爬虫可以帮</div>
                        </li>
                        <li><a href="/article/1940758468847792128.htm"
                               title="Python爬虫实战:研究stdlib库相关技术" target="_blank">Python爬虫实战:研究stdlib库相关技术</a>
                            <span class="text-muted">ylfhpy</span>
    <a class="tag" taget="_blank" href="/search/%E7%88%AC%E8%99%AB%E9%A1%B9%E7%9B%AE%E5%AE%9E%E6%88%98/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%89%8D%E7%AB%AF/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/stdlib/1.htm">stdlib</a><a class="tag" taget="_blank" href="/search/%E6%A0%87%E5%87%86%E5%BA%93/1.htm">标准库</a>
                            <div>1.引言1.1研究背景与意义在当今信息爆炸的时代,互联网上的数据量呈指数级增长。网络爬虫作为一种自动获取网页内容的工具,在信息检索、数据挖掘、舆情分析等领域发挥着重要作用。Python由于其简洁的语法和丰富的库支持,成为开发网络爬虫的首选语言。本文旨在探讨如何利用Python标准库构建一个功能完整的网络爬虫系统,避免依赖过多第三方库,提高系统的可移植性和稳定性。1.2研究目标本文的研究目标是设计并</div>
                        </li>
                        <li><a href="/article/1940758341756186624.htm"
                               title="Python爬虫实战:研究urllib 库相关技术" target="_blank">Python爬虫实战:研究urllib 库相关技术</a>
                            <span class="text-muted">ylfhpy</span>
    <a class="tag" taget="_blank" href="/search/%E7%88%AC%E8%99%AB%E9%A1%B9%E7%9B%AE%E5%AE%9E%E6%88%98/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/urllib/1.htm">urllib</a>
                            <div>1.引言1.1研究背景与意义互联网每天产生海量数据,如何高效获取和利用这些数据成为重要研究方向。网页爬虫作为自动获取网络信息的核心技术,在市场调研、舆情分析、学术研究等领域具有广泛应用。Python凭借其简洁语法和丰富库支持,成为爬虫开发的首选语言。1.2相关技术概述Python爬虫技术栈主要包括:标准库:urllib、re、csv等第三方库:Requests、BeautifulSoup、Scra</div>
                        </li>
                        <li><a href="/article/1940746994028965888.htm"
                               title="Python爬虫实战:研究pycurl库相关技术" target="_blank">Python爬虫实战:研究pycurl库相关技术</a>
                            <span class="text-muted">ylfhpy</span>
    <a class="tag" taget="_blank" href="/search/%E7%88%AC%E8%99%AB%E9%A1%B9%E7%9B%AE%E5%AE%9E%E6%88%98/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/pycurl/1.htm">pycurl</a>
                            <div>1.引言1.1研究背景与意义随着互联网数据量的爆炸式增长,传统爬虫框架在处理大规模数据采集任务时面临性能瓶颈。特别是在需要处理大量并发请求、高频率数据更新的场景下,提升爬虫的效率和稳定性成为关键挑战。Python作为最流行的爬虫开发语言,提供了多种网络请求库,其中pycurl因其基于C语言的libcurl库而具有出色的性能表现。1.2相关技术概述Python爬虫生态系统中的主要网络请求库包括:标准</div>
                        </li>
                        <li><a href="/article/1940713706006573056.htm"
                               title="【Python爬虫实战】全面抓取网页资源(图片、JS、CSS等)——超详细教程与源码解析" target="_blank">【Python爬虫实战】全面抓取网页资源(图片、JS、CSS等)——超详细教程与源码解析</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/javascript/1.htm">javascript</a><a class="tag" taget="_blank" href="/search/%E6%96%B0%E6%B5%AA%E5%BE%AE%E5%8D%9A/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/css/1.htm">css</a><a class="tag" taget="_blank" href="/search/%E6%97%85%E6%B8%B8/1.htm">旅游</a>
                            <div>前言在互联网时代,网页数据已经成为重要的信息来源。许多时候,我们不仅需要抓取网页中的文字信息,还需要将网页中的各种资源文件(如图片、CSS样式表、JavaScript脚本文件等)一起抓取并保存下来。这种需求广泛应用于网页备份、离线浏览、数据分析等场景。本篇文章将带你从零开始,系统讲解如何使用Python最新技术,一步步实现抓取网页中所有静态资源的完整流程,包括:页面结构分析爬虫基本架构搭建异步爬取</div>
                        </li>
                        <li><a href="/article/1940624804147163136.htm"
                               title="Linux系统释放内存-清理docker占用磁盘" target="_blank">Linux系统释放内存-清理docker占用磁盘</a>
                            <span class="text-muted">江节胜-胜行全栈AI</span>
    <a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/docker/1.htm">docker</a><a class="tag" taget="_blank" href="/search/%E7%BC%93%E5%AD%98/1.htm">缓存</a>
                            <div>最新版本更新https://code.jiangjiesheng.cn/article/3441.释放内存1.1适用现象执行top,发现右上角buff/cache占用很大,3条命令执行结束buff/cache由20G降到8G。1.2执行命令step1:清除pagecacheecho1>/proc/sys/vm/drop_cachesstep2:清除回收slab分配器中的对象(包括目录项缓存和ino</div>
                        </li>
                        <li><a href="/article/1940611819987070976.htm"
                               title="Python 爬虫实战:网易云音乐登录解密(加密参数逆向 + 音乐数据采集)" target="_blank">Python 爬虫实战:网易云音乐登录解密(加密参数逆向 + 音乐数据采集)</a>
                            <span class="text-muted">Python核芯</span>
    <a class="tag" taget="_blank" href="/search/Python%E7%88%AC%E8%99%AB%E5%AE%9E%E6%88%98%E9%A1%B9%E7%9B%AE/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>一、前言网易云音乐作为国内流行的音乐平台,拥有海量的音乐资源和用户数据。通过爬取网易云音乐的数据,我们可以进行音乐推荐、用户行为分析等。本文将详细介绍如何使用Python爬取网易云音乐的数据,包括登录解密和音乐数据采集。二、准备工作1.环境搭建确保已安装Python3.7或以上版本,推荐使用VisualStudioCode作为开发工具。2.安装依赖库在命令行中安装爬虫和数据分析所需的库:pipin</div>
                        </li>
                        <li><a href="/article/1940595931430842368.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/%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/%E8%87%AA%E5%8A%A8%E5%8C%96/1.htm">自动化</a><a class="tag" taget="_blank" href="/search/%E5%8C%BA%E5%9D%97%E9%93%BE/1.htm">区块链</a>
                            <div>引言雪球网(Xueqiu)是中国知名的股票投资社交平台,它提供了丰富的股票数据、投资者的评论和分析,并允许用户进行股票交易的模拟。雪球平台集成了大量的股市数据,包括个股的实时行情、财务数据、投资者分析以及论坛社区内容。许多投资者和金融分析师都在该平台上进行股票研究、讨论和数据挖掘。在本文中,我们将介绍如何通过Python爬虫抓取雪球网的股票数据。通过分析雪球网提供的API和网页结构,获取个股的实时</div>
                        </li>
                                    <li><a href="/article/89.htm"
                                           title="java责任链模式" target="_blank">java责任链模式</a>
                                        <span class="text-muted">3213213333332132</span>
    <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E8%B4%A3%E4%BB%BB%E9%93%BE%E6%A8%A1%E5%BC%8F/1.htm">责任链模式</a><a class="tag" taget="_blank" href="/search/%E6%9D%91%E6%B0%91%E5%91%8A%E5%8E%BF%E9%95%BF/1.htm">村民告县长</a>
                                        <div>责任链模式,通常就是一个请求从最低级开始往上层层的请求,当在某一层满足条件时,请求将被处理,当请求到最高层仍未满足时,则请求不会被处理。 
     
    就是一个请求在这个链条的责任范围内,会被相应的处理,如果超出链条的责任范围外,请求不会被相应的处理。 
     
    下面代码模拟这样的效果: 
    创建一个政府抽象类,方便所有的具体政府部门继承它。 
     
    
    package 责任链模式;
    
    /**
     * 
     </div>
                                    </li>
                                    <li><a href="/article/216.htm"
                                           title="linux、mysql、nginx、tomcat 性能参数优化" target="_blank">linux、mysql、nginx、tomcat 性能参数优化</a>
                                        <span class="text-muted">ronin47</span>
    
                                        <div>一、linux 系统内核参数 
     
      /etc/sysctl.conf文件常用参数     net.core.netdev_max_backlog = 32768 #允许送到队列的数据包的最大数目
    net.core.rmem_max  = 8388608        #SOCKET读缓存区大小
    net.core.wmem_max  = 8388608        #SOCKET写缓存区大</div>
                                    </li>
                                    <li><a href="/article/343.htm"
                                           title="php命令行界面" target="_blank">php命令行界面</a>
                                        <span class="text-muted">dcj3sjt126com</span>
    <a class="tag" taget="_blank" href="/search/PHP/1.htm">PHP</a><a class="tag" taget="_blank" href="/search/cli/1.htm">cli</a>
                                        <div>常用选项
    php -v
    php -i PHP安装的有关信息
    php -h 访问帮助文件
    php -m 列出编译到当前PHP安装的所有模块
    
    执行一段代码
    php -r 'echo "hello, world!";'
    php -r 'echo "Hello, World!\n";'
    php -r '$ts = filemtime("</div>
                                    </li>
                                    <li><a href="/article/470.htm"
                                           title="Filter&Session" target="_blank">Filter&Session</a>
                                        <span class="text-muted">171815164</span>
    <a class="tag" taget="_blank" href="/search/session/1.htm">session</a>
                                        <div>Filter 
     
     
    
    HttpServletRequest requ = (HttpServletRequest) req;
    HttpSession session = requ.getSession();
    if (session.getAttribute("admin") == null) {
               PrintWriter out = res.ge</div>
                                    </li>
                                    <li><a href="/article/597.htm"
                                           title="连接池与Spring,Hibernate结合" target="_blank">连接池与Spring,Hibernate结合</a>
                                        <span class="text-muted">g21121</span>
    <a class="tag" taget="_blank" href="/search/Hibernate/1.htm">Hibernate</a>
                                        <div>        前几篇关于Java连接池的介绍都是基于Java应用的,而我们常用的场景是与Spring和ORM框架结合,下面就利用实例学习一下这方面的配置。 
            1.下载相关内容:     &nb</div>
                                    </li>
                                    <li><a href="/article/724.htm"
                                           title="[简单]mybatis判断数字类型" target="_blank">[简单]mybatis判断数字类型</a>
                                        <span class="text-muted">53873039oycg</span>
    <a class="tag" taget="_blank" href="/search/mybatis/1.htm">mybatis</a>
                                        <div>       昨天同事反馈mybatis保存不了int类型的属性,一直报错,错误信息如下: 
          
    Caused by: java.lang.NumberFormatException: For input string: "null"
    	at sun.mis</div>
                                    </li>
                                    <li><a href="/article/851.htm"
                                           title="项目启动时或者启动后ava.lang.OutOfMemoryError: PermGen space" target="_blank">项目启动时或者启动后ava.lang.OutOfMemoryError: PermGen space</a>
                                        <span class="text-muted">程序员是怎么炼成的</span>
    <a class="tag" taget="_blank" href="/search/eclipse/1.htm">eclipse</a><a class="tag" taget="_blank" href="/search/jvm/1.htm">jvm</a><a class="tag" taget="_blank" href="/search/tomcat/1.htm">tomcat</a><a class="tag" taget="_blank" href="/search/catalina.sh/1.htm">catalina.sh</a><a class="tag" taget="_blank" href="/search/eclipse.ini/1.htm">eclipse.ini</a>
                                        <div>   在启动比较大的项目时,因为存在大量的jsp页面,所以在编译的时候会生成很多的.class文件,.class文件是都会被加载到jvm的方法区中,如果要加载的class文件很多,就会出现方法区溢出异常 java.lang.OutOfMemoryError: PermGen space. 
        
    解决办法是点击eclipse里的tomcat,在</div>
                                    </li>
                                    <li><a href="/article/978.htm"
                                           title="我的crm小结" target="_blank">我的crm小结</a>
                                        <span class="text-muted">aijuans</span>
    <a class="tag" taget="_blank" href="/search/crm/1.htm">crm</a>
                                        <div>各种原因吧,crm今天才完了。主要是接触了几个新技术: 
    Struts2、poi、ibatis这几个都是以前的项目中用过的。 
    Jsf、tapestry是这次新接触的,都是界面层的框架,用起来也不难。思路和struts不太一样,传说比较简单方便。不过个人感觉还是struts用着顺手啊,当然springmvc也很顺手,不知道是因为习惯还是什么。jsf和tapestry应用的时候需要知道他们的标签、主</div>
                                    </li>
                                    <li><a href="/article/1105.htm"
                                           title="spring里配置使用hibernate的二级缓存几步" target="_blank">spring里配置使用hibernate的二级缓存几步</a>
                                        <span class="text-muted">antonyup_2006</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/Hibernate/1.htm">Hibernate</a><a class="tag" taget="_blank" href="/search/xml/1.htm">xml</a><a class="tag" taget="_blank" href="/search/cache/1.htm">cache</a>
                                        <div>.在spring的配置文件中 applicationContent.xml,hibernate部分加入 
    xml 代码 
     
    <prop key="hibernate.cache.provider_class">org.hibernate.cache.EhCacheProvider</prop>   
        <prop key="hi</div>
                                    </li>
                                    <li><a href="/article/1232.htm"
                                           title="JAVA基础面试题" target="_blank">JAVA基础面试题</a>
                                        <span class="text-muted">百合不是茶</span>
    <a class="tag" taget="_blank" href="/search/%E6%8A%BD%E8%B1%A1%E5%AE%9E%E7%8E%B0%E6%8E%A5%E5%8F%A3/1.htm">抽象实现接口</a><a class="tag" taget="_blank" href="/search/String%E7%B1%BB/1.htm">String类</a><a class="tag" taget="_blank" href="/search/%E6%8E%A5%E5%8F%A3%E7%BB%A7%E6%89%BF/1.htm">接口继承</a><a class="tag" taget="_blank" href="/search/%E6%8A%BD%E8%B1%A1%E7%B1%BB%E7%BB%A7%E6%89%BF%E5%AE%9E%E4%BD%93%E7%B1%BB/1.htm">抽象类继承实体类</a><a class="tag" taget="_blank" href="/search/%E8%87%AA%E5%AE%9A%E4%B9%89%E5%BC%82%E5%B8%B8/1.htm">自定义异常</a>
                                        <div>/*   * 栈(stack):主要保存基本类型(或者叫内置类型)(char、byte、short、   *int、long、 float、double、boolean)和对象的引用,数据可以共享,速度仅次于   * 寄存器(register),快于堆。堆(heap):用于存储对象。   */  &</div>
                                    </li>
                                    <li><a href="/article/1359.htm"
                                           title="让sqlmap文件 "继承" 起来" target="_blank">让sqlmap文件 "继承" 起来</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/ibatis/1.htm">ibatis</a><a class="tag" taget="_blank" href="/search/sqlmap/1.htm">sqlmap</a>
                                        <div>        多个项目中使用ibatis , 和数据库表对应的 sqlmap文件(增删改查等基本语句),dao, pojo 都是由工具自动生成的, 现在将这些自动生成的文件放在一个单独的工程中,其它项目工程中通过jar包来引用 ,并通过"继承"为基础的sqlmap文件,dao,pojo 添加新的方法来满足项</div>
                                    </li>
                                    <li><a href="/article/1486.htm"
                                           title="精通Oracle10编程SQL(13)开发触发器" target="_blank">精通Oracle10编程SQL(13)开发触发器</a>
                                        <span class="text-muted">bijian1013</span>
    <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%E5%BA%93/1.htm">数据库</a><a class="tag" taget="_blank" href="/search/plsql/1.htm">plsql</a>
                                        <div>/*
     *开发触发器
     */
    --得到日期是周几
    select to_char(sysdate+4,'DY','nls_date_language=AMERICAN') from dual;
    
    select to_char(sysdate,'DY','nls_date_language=AMERICAN') from dual;
    
    --建立BEFORE语句触发器
    CREATE O</div>
                                    </li>
                                    <li><a href="/article/1613.htm"
                                           title="【EhCache三】EhCache查询" target="_blank">【EhCache三】EhCache查询</a>
                                        <span class="text-muted">bit1129</span>
    <a class="tag" taget="_blank" href="/search/ehcache/1.htm">ehcache</a>
                                        <div>本文介绍EhCache查询缓存中数据,EhCache提供了类似Hibernate的查询API,可以按照给定的条件进行查询。 
      
    要对EhCache进行查询,需要在ehcache.xml中设定要查询的属性 
      数据准备 
        @Before
        public void setUp() {
            //加载EhCache配置文件
            Inpu</div>
                                    </li>
                                    <li><a href="/article/1740.htm"
                                           title="CXF框架入门实例" target="_blank">CXF框架入门实例</a>
                                        <span class="text-muted">白糖_</span>
    <a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/Web/1.htm">Web</a><a class="tag" taget="_blank" href="/search/%E6%A1%86%E6%9E%B6/1.htm">框架</a><a class="tag" taget="_blank" href="/search/webservice/1.htm">webservice</a><a class="tag" taget="_blank" href="/search/servlet/1.htm">servlet</a>
                                        <div>CXF是apache旗下的开源框架,由Celtix + XFire这两门经典的框架合成,是一套非常流行的web service框架。 
    它提供了JAX-WS的全面支持,并且可以根据实际项目的需要,采用代码优先(Code First)或者 WSDL 优先(WSDL First)来轻松地实现 Web Services 的发布和使用,同时它能与spring进行完美结合。 
    在apache cxf官网提供</div>
                                    </li>
                                    <li><a href="/article/1867.htm"
                                           title="angular.equals" target="_blank">angular.equals</a>
                                        <span class="text-muted">boyitech</span>
    <a class="tag" taget="_blank" href="/search/AngularJS/1.htm">AngularJS</a><a class="tag" taget="_blank" href="/search/AngularJS+API/1.htm">AngularJS API</a><a class="tag" taget="_blank" href="/search/AnguarJS+%E4%B8%AD%E6%96%87API/1.htm">AnguarJS 中文API</a><a class="tag" taget="_blank" href="/search/angular.equals/1.htm">angular.equals</a>
                                        <div>angular.equals 
       描述:  
      比较两个值或者两个对象是不是 相等。还支持值的类型,正则表达式和数组的比较。       两个值或对象被认为是 相等的前提条件是以下的情况至少能满足一项:  
     
     
       
       
       两个值或者对象能通过=== (恒等) 的比较 
       两个值或者对象是同样类型,并且他们的属性都能通过angular</div>
                                    </li>
                                    <li><a href="/article/1994.htm"
                                           title="java-腾讯暑期实习生-输入一个数组A[1,2,...n],求输入B,使得数组B中的第i个数字B[i]=A[0]*A[1]*...*A[i-1]*A[i+1]" target="_blank">java-腾讯暑期实习生-输入一个数组A[1,2,...n],求输入B,使得数组B中的第i个数字B[i]=A[0]*A[1]*...*A[i-1]*A[i+1]</a>
                                        <span class="text-muted">bylijinnan</span>
    <a class="tag" taget="_blank" href="/search/java/1.htm">java</a>
                                        <div>这道题的具体思路请参看 何海涛的微博:http://weibo.com/zhedahht 
     
    
    import java.math.BigInteger;
    import java.util.Arrays;
    
    public class CreateBFromATencent {
    
    	/**
    	 * 题目:输入一个数组A[1,2,...n],求输入B,使得数组B中的第i个数字B[i]=A</div>
                                    </li>
                                    <li><a href="/article/2121.htm"
                                           title="FastDFS 的安装和配置 修订版" target="_blank">FastDFS 的安装和配置 修订版</a>
                                        <span class="text-muted">Chen.H</span>
    <a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/fastDFS/1.htm">fastDFS</a><a class="tag" taget="_blank" href="/search/%E5%88%86%E5%B8%83%E5%BC%8F%E6%96%87%E4%BB%B6%E7%B3%BB%E7%BB%9F/1.htm">分布式文件系统</a>
                                        <div>FastDFS Home:http://code.google.com/p/fastdfs/ 
    1. 安装 
    http://code.google.com/p/fastdfs/wiki/Setup http://hi.baidu.com/leolance/blog/item/3c273327978ae55f93580703.html 
    安装libevent (对libevent的版本要求为1.4.</div>
                                    </li>
                                    <li><a href="/article/2248.htm"
                                           title="[强人工智能]拓扑扫描与自适应构造器" target="_blank">[强人工智能]拓扑扫描与自适应构造器</a>
                                        <span class="text-muted">comsci</span>
    <a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a>
                                        <div> 
     
     
          当我们面对一个有限拓扑网络的时候,在对已知的拓扑结构进行分析之后,发现在连通点之后,还存在若干个子网络,且这些网络的结构是未知的,数据库中并未存在这些网络的拓扑结构数据....这个时候,我们该怎么办呢? 
     
          那么,现在我们必须设计新的模块和代码包来处理上面的问题</div>
                                    </li>
                                    <li><a href="/article/2375.htm"
                                           title="oracle merge into的用法" target="_blank">oracle merge into的用法</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/sql/1.htm">sql</a><a class="tag" taget="_blank" href="/search/merget+into/1.htm">merget into</a>
                                        <div>Oracle中merge into的使用 
    http://blog.csdn.net/yuzhic/article/details/1896878 
    http://blog.csdn.net/macle2010/article/details/5980965 
    该命令使用一条语句从一个或者多个数据源中完成对表的更新和插入数据. ORACLE 9i 中,使用此命令必须同时指定UPDATE 和INSE</div>
                                    </li>
                                    <li><a href="/article/2502.htm"
                                           title="不适合使用Hadoop的场景" target="_blank">不适合使用Hadoop的场景</a>
                                        <span class="text-muted">datamachine</span>
    <a class="tag" taget="_blank" href="/search/hadoop/1.htm">hadoop</a>
                                        <div>转自:http://dev.yesky.com/296/35381296.shtml。 
      Hadoop通常被认定是能够帮助你解决所有问题的唯一方案。 当人们提到“大数据”或是“数据分析”等相关问题的时候,会听到脱口而出的回答:Hadoop!  实际上Hadoop被设计和建造出来,是用来解决一系列特定问题的。对某些问题来说,Hadoop至多算是一个不好的选择,对另一些问题来说,选择Ha</div>
                                    </li>
                                    <li><a href="/article/2629.htm"
                                           title="YII findAll的用法" target="_blank">YII findAll的用法</a>
                                        <span class="text-muted">dcj3sjt126com</span>
    <a class="tag" taget="_blank" href="/search/yii/1.htm">yii</a>
                                        <div>看文档比较糊涂,其实挺简单的: 
    $predictions=Prediction::model()->findAll("uid=:uid",array(":uid"=>10)); 
      
    第一个参数是选择条件:”uid=10″。其中:uid是一个占位符,在后面的array(“:uid”=>10)对齐进行了赋值; 
    更完善的查询需要</div>
                                    </li>
                                    <li><a href="/article/2756.htm"
                                           title="vim 常用 NERDTree 快捷键" target="_blank">vim 常用 NERDTree 快捷键</a>
                                        <span class="text-muted">dcj3sjt126com</span>
    <a class="tag" taget="_blank" href="/search/vim/1.htm">vim</a>
                                        <div>下面给大家整理了一些vim NERDTree的常用快捷键了,这里几乎包括了所有的快捷键了,希望文章对各位会带来帮助。 
    切换工作台和目录 
    ctrl + w + h 光标 focus 左侧树形目录ctrl + w + l 光标 focus 右侧文件显示窗口ctrl + w + w 光标自动在左右侧窗口切换ctrl + w + r 移动当前窗口的布局位置 
    o 在已有窗口中打开文件、目录或书签,并跳</div>
                                    </li>
                                    <li><a href="/article/2883.htm"
                                           title="Java把目录下的文件打印出来" target="_blank">Java把目录下的文件打印出来</a>
                                        <span class="text-muted">蕃薯耀</span>
    <a class="tag" taget="_blank" href="/search/%E5%88%97%E5%87%BA%E7%9B%AE%E5%BD%95%E4%B8%8B%E7%9A%84%E6%96%87%E4%BB%B6/1.htm">列出目录下的文件</a><a class="tag" taget="_blank" href="/search/%E6%96%87%E4%BB%B6%E5%A4%B9%E4%B8%8B%E9%9D%A2%E7%9A%84%E6%96%87%E4%BB%B6/1.htm">文件夹下面的文件</a><a class="tag" taget="_blank" href="/search/%E7%9B%AE%E5%BD%95%E4%B8%8B%E7%9A%84%E6%96%87%E4%BB%B6/1.htm">目录下的文件</a>
                                        <div>Java把目录下的文件打印出来 
    >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
    蕃薯耀 2015年7月11日 11:02:</div>
                                    </li>
                                    <li><a href="/article/3010.htm"
                                           title="linux远程桌面----VNCServer与rdesktop" target="_blank">linux远程桌面----VNCServer与rdesktop</a>
                                        <span class="text-muted">hanqunfeng</span>
    <a class="tag" taget="_blank" href="/search/Desktop/1.htm">Desktop</a>
                                        <div>windows远程桌面到linux,需要在linux上安装vncserver,并开启vnc服务,同时需要在windows下使用vnc-viewer访问Linux。vncserver同时支持linux远程桌面到linux。 
      
    linux远程桌面到windows,需要在linux上安装rdesktop,同时开启windows的远程桌面访问。 
      
    下面分别介绍,以windo</div>
                                    </li>
                                    <li><a href="/article/3137.htm"
                                           title="guava中的join和split功能" target="_blank">guava中的join和split功能</a>
                                        <span class="text-muted">jackyrong</span>
    <a class="tag" taget="_blank" href="/search/java/1.htm">java</a>
                                        <div>guava库中,包含了很好的join和split的功能,例子如下: 
     
    1) 将LIST转换为使用字符串连接的字符串 
       
    
        List<String> names = Lists.newArrayList("John", "Jane", "Adam", "Tom");
    </div>
                                    </li>
                                    <li><a href="/article/3264.htm"
                                           title="Web开发技术十年发展历程" target="_blank">Web开发技术十年发展历程</a>
                                        <span class="text-muted">lampcy</span>
    <a class="tag" taget="_blank" href="/search/android/1.htm">android</a><a class="tag" taget="_blank" href="/search/Web/1.htm">Web</a><a class="tag" taget="_blank" href="/search/%E6%B5%8F%E8%A7%88%E5%99%A8/1.htm">浏览器</a><a class="tag" taget="_blank" href="/search/html5/1.htm">html5</a>
                                        <div>回顾web开发技术这十年发展历程: 
    Ajax 
    03年的时候我上六年级,那时候网吧刚在小县城的角落萌生。传奇,大话西游第一代网游一时风靡。我抱着试一试的心态给了网吧老板两块钱想申请个号玩玩,然后接下来的一个小时我一直在,注,册,账,号。 
    彼时网吧用的512k的带宽,注册的时候,填了一堆信息,提交,页面跳转,嘣,”您填写的信息有误,请重填”。然后跳转回注册页面,以此循环。我现在时常想,如果当时a</div>
                                    </li>
                                    <li><a href="/article/3391.htm"
                                           title="架构师之mima-----------------mina的非NIO控制IOBuffer(说得比较好)" target="_blank">架构师之mima-----------------mina的非NIO控制IOBuffer(说得比较好)</a>
                                        <span class="text-muted">nannan408</span>
    <a class="tag" taget="_blank" href="/search/buffer/1.htm">buffer</a>
                                        <div>1.前言。 
      如题。 
    2.代码。 
      
    
    IoService
    
    IoService是一个接口,有两种实现:IoAcceptor和IoConnector;其中IoAcceptor是针对Server端的实现,IoConnector是针对Client端的实现;IoService的职责包括:
    
    1、监听器管理
    
    2、IoHandler
    
    3、IoSession</div>
                                    </li>
                                    <li><a href="/article/3518.htm"
                                           title="ORA-00054:resource busy and acquire with NOWAIT specified" target="_blank">ORA-00054:resource busy and acquire with NOWAIT specified</a>
                                        <span class="text-muted">Everyday都不同</span>
    <a class="tag" taget="_blank" href="/search/oracle/1.htm">oracle</a><a class="tag" taget="_blank" href="/search/session/1.htm">session</a><a class="tag" taget="_blank" href="/search/Lock/1.htm">Lock</a>
                                        <div>[Oracle] 
    今天对一个数据量很大的表进行操作时,出现如题所示的异常。此时表明数据库的事务处于“忙”的状态,而且被lock了,所以必须先关闭占用的session。 
      
    step1,查看被lock的session: 
      
    select t2.username, t2.sid, t2.serial#, t2.logon_time
      from v$locked_obj</div>
                                    </li>
                                    <li><a href="/article/3645.htm"
                                           title="javascript学习笔记" target="_blank">javascript学习笔记</a>
                                        <span class="text-muted">tntxia</span>
    <a class="tag" taget="_blank" href="/search/JavaScript/1.htm">JavaScript</a>
                                        <div>  
    javascript里面有6种基本类型的值:number、string、boolean、object、function和undefined。number:就是数字值,包括整数、小数、NaN、正负无穷。string:字符串类型、单双引号引起来的内容。boolean:true、false object:表示所有的javascript对象,不用多说function:我们熟悉的方法,也就是</div>
                                    </li>
                                    <li><a href="/article/3772.htm"
                                           title="Java enum的用法详解" target="_blank">Java enum的用法详解</a>
                                        <span class="text-muted">xieke90</span>
    <a class="tag" taget="_blank" href="/search/enum/1.htm">enum</a><a class="tag" taget="_blank" href="/search/%E6%9E%9A%E4%B8%BE/1.htm">枚举</a>
                                        <div>Java中枚举实现的分析: 
        示例:  
    public static enum SEVERITY{
              INFO,WARN,ERROR
    } 
        enum很像特殊的class,实际上enum声明定义的类型就是一个类。 而这些类都是类库中Enum类的子类      (java.l</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>