`
李丹.杭州
  • 浏览: 15813 次
  • 性别: Icon_minigender_2
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

爬虫抓网页知识小结

 
阅读更多
1,用于抓取时间date的 但是时间的格式多变

import java.util.regex.Matcher;
import java.util.regex.Pattern; 
Pattern p = Pattern.compile("\\bon\\b");
Matcher m = p.matcher(str);
if(m.find()){
str = m.group()
}

2,去掉article中的属性是数字开头的
import java.util.regex.Matcher
import java.util.regex.Pattern
strReg = "(?<=<[^<>]{1,9999})\\s[^a-zA-Z\\s<>\"_]+[^=\\s<>\"]*\\s?="
Pattern pattern = Pattern.compile(strReg)
Matcher matcher = pattern.matcher(str_page_html)
i = 0
while(matcher.find()){
replacedStr =  matcher.group()
str_page_html = str_page_html.replace(replacedStr, " a" + i.toString() + "=")
i++
}

3,Xpath连接字符串的

concat(//span[@class='elementDate latestNews_Date'],//span[@class='elementTime latestNews_Time'])

4,xpath的一些语法


     1、child  选取当前节点的所有子元素

     2、parent  选取当前节点的父节点

     3、descendant 选取当前节点的所有后代元素(子、孙等)

     4、ancestor  选取当前节点的所有先辈(父、祖父等)

     5、descendant-or-self 选取当前节点的所有后代元素(子、孙等)以及当前节点本身

     6、ancestor-or-self  选取当前节点的所有先辈(父、祖父等)以及当前节点本身

     7、preceding-sibling 选取当前节点之前的所有同级节点

     8、following-sibling 选取当前节点之后的所有同级节点

     9、preceding   选取文档中当前节点的开始标签之前的所有节点

     10、following   选取文档中当前节点的结束标签之后的所有节点

     11、self  选取当前节点

     12、attribute  选取当前节点的所有属性

     13、namespace 选取当前节点的所有命名空间节点

     preceding-sibling,选取当前节点之前的所有同级节点,同一个parent下该节点之前的节点,即“哥哥”节点(是同父的哥哥节点)。

5,article_url中转化非英文字符:
import java.net.URLEncoder
if( str_article_url.contains("XXXXXXXXXXX")){
temp_str_befor = "xxxxxxxxxxx"
temp_str_after = URLEncoder.encode(temp_str_befor,"UTF-8")
str_article_url =str_article_url.replace(temp_str_befor,temp_str_after)
        }

6,分 秒 时  day  week设置
SimpleDateFormat sdf = new SimpleDateFormat(date_format.toString())
//str_date_posted = sys.datetime(date_format.toString())
SimpleDateFormat sdf = new SimpleDateFormat(date_format.toString())
//str_date_posted = sys.datetime(date_format.toString())
Calendar cal=Calendar.getInstance()
if(str.contains("Hour")){
hoursNum = str.split("Hour")[0].trim()
println "hoursNum=="+hoursNum
      cal.set(Calendar.HOUR,-Integer.parseInt(hoursNum))
str = sdf.format(cal.getTime())
}
if(str.contains("Day")){
daysNum = str.split("Day")[0].trim()
println "daysNum=="+daysNum
cal.set(Calendar.DAY_OF_YEAR,-Integer.parseInt(daysNum))
str = sdf.format(cal.getTime())
}
if(str.contains("Week")){
weeksNum = str.split("Week")[0].trim()
println "weeksNum=="+weeksNum
cal.set(Calendar.WEEK_OF_YEAR,-Integer.parseInt(weeksNum))
str = sdf.format(cal.getTime())
}Calendar cal=Calendar.getInstance()
if(str.contains("Hour")){
hoursNum = str.split("Hour")[0].trim()
println "hoursNum=="+hoursNum
cal.set(Calendar.HOUR,-Integer.parseInt(hoursNum))
str = sdf.format(cal.getTime())
}
if(str.contains("Day")){
daysNum = str.split("Day")[0].trim()
println "daysNum=="+daysNum
cal.set(Calendar.DAY_OF_YEAR,-Integer.parseInt(daysNum))
str = sdf.format(cal.getTime())
}
if(str.contains("Week")){
weeksNum = str.split("Week")[0].trim()
println "weeksNum=="+weeksNum
cal.set(Calendar.WEEK_OF_YEAR,-Integer.parseInt(weeksNum))
str = sdf.format(cal.getTime())
}

代码格式不齐请原谅 待续...
分享到:
评论

相关推荐

    爬虫技术-网页基础.pptx

    在学习爬虫技术之前,理解网页的基础知识是至关重要的,因为爬虫的本质就是解析和操作网页。本节将深入探讨网页基础,特别是HTML语言和Chrome开发者工具的使用。 HTML(Hyper Text Markup Language)是一种标记语言...

    爬虫软件 自动获取网站源码

    总结来说,"爬虫软件 自动获取网站源码"涉及的IT知识点包括网络编程、HTML解析、数据提取、JavaScript执行、本地存储、反爬策略以及效率优化等多个方面。理解并掌握这些知识点,有助于构建一个强大的网络数据抓取...

    2022年Python爬虫最全资料【6年爬虫经验精华总结】

    以上是Python爬虫的基础知识,涵盖了从环境搭建、库的使用到实际爬取过程中的各种技巧。学习爬虫需要理解HTTP协议,熟悉HTML和CSS选择器,掌握数据解析和存储方法,以及应对各种反爬策略。持续实践和学习,才能不断...

    网络爬虫技术讲义 非常有意思的非技术文档

    ### 知识点总结 #### 一、网络爬虫的基础概念与技术 1. **互联网的真正潜力**: - **非传统访问方式**:浏览器并非访问网络资源的唯一手段,网络爬虫作为一种自动化工具,可以高效地抓取网页信息。 - **应用领域...

    (完整word)python-网络爬虫.doc

    Python 网络爬虫基础知识点 网络爬虫的定义:网络爬虫,即 Web Spider,是一个很形象的名字。把互联网比喻成一个蜘蛛网,那么 Spider 就是在网上爬来爬去的蜘蛛。网络蜘蛛是通过网页的链接地址来寻找网页的。 网络...

    2020年Python爬虫全套课程100节【2021-03-09】.docx

    ### Python爬虫全套课程知识点概览 #### 一、课程概览与爬虫价值 ...通过以上总结,可以看出本套课程从理论到实践全方位地涵盖了Python爬虫开发的核心知识点和技术细节,适合初学者系统学习或作为进阶者的参考资料。

    Python网络爬虫视频教程.docx

    ### Python网络爬虫视频教程知识点概览 #### 1. Python爬虫环境与爬虫简介 ##### 1-1 Python网络爬虫实战介绍 - **爬虫定义**:网络爬虫(Web Crawler),也称为网页蜘蛛或搜索引擎机器人,是一种按照一定的规则...

    大数据爬虫服务平台.pptx

    以下是对该平台核心知识点的详细说明: 1. **大数据基础管理平台架构**: 这个架构涉及到多个层面,包括数据采集、存储、处理和分析。爬虫作为数据采集的第一步,负责从互联网上抓取所需信息。数据随后被存储在...

    python爬虫的概要介绍与分析

    - **辅助工具**:例如Wireshark、Fiddler和Postman等抓包工具,可以帮助理解网络通信协议、调试爬虫请求及模拟复杂的场景。 #### 法律伦理教育 在进行Python爬虫开发时,了解并遵守相关的法律和伦理规定是非常...

    Python学习之~网络爬虫,天津Python培训(1).docx

    - 抓包工具:使用Fiddler或Wireshark等工具帮助理解网页加载过程中的细节。 #### 四、高级主题 当掌握了基础技能之后,可以进一步探索以下高级主题: - **异步编程**:通过异步I/O提高爬虫的执行效率。 - **多...

    delphi网页邮件抓发系统.zip

    标题中的“delphi网页邮件抓发系统”是一个基于Delphi编程环境开发的系统,用于抓取和发送网页上的电子邮件。Delphi是Borland公司(现Embarcadero Technologies)推出的一种面向对象的可视化集成开发环境,以其高效...

    python制作爬虫并将抓取结果保存到excel中

    总结,Python爬虫涉及的关键知识点包括: - 分析HTTP请求和响应,了解网页动态加载机制。 - 使用`requests`库进行HTTP请求,模拟浏览器行为。 - JSON解析,利用`json`库处理API返回的数据。 - 数据抓取技术,如正则...

    使用Python3编写抓取网页和只抓网页图片的脚本

    ### 使用Python3编写抓取网页和只抓网页图片的脚本 #### 一、概述 在互联网技术快速发展的今天,网络爬虫作为一种重要的数据采集工具,被广泛应用于多个领域,如数据分析、搜索引擎优化等。本文将详细介绍如何使用...

    MS-08067自动扫描抓机

    下面将详细探讨这一技术的关键知识点。 首先,我们来理解“自动扫描”这一概念。自动扫描指的是通过编程或自动化工具来持续监控、捕获和分析特定信息的过程。在MS-08067中,这可能涉及对网页、数据库、文件系统或...

    网页抓取hao123的手机号码归属地查询

    根据给定的文件信息,我们可以提炼出以下几个关键的知识点,主要围绕着网页抓取、ASP.NET源码、JQuery以及数据库优化(DBA)等方面展开。 ### 一、网页抓取技术 网页抓取(也称网络爬虫或数据抓取)是一种自动下载...

    python爬虫 基于requests模块发起ajax的get请求实现解析

    爬虫技术是网络数据抓取和处理的重要技术之一,Python语言因其简洁和丰富的库支持,...当然,作为爬虫开发者,必须具备良好的网络知识和编程能力,同时也要有法律意识和道德观念,确保爬虫的开发和使用是合法和合理的。

    电脑获取验证码抓京东ck.rar

    本文将详细解析“电脑获取验证码抓京东ck.rar”这个压缩包文件中的知识点,包括Cookie的作用,京东的登录验证机制,以及如何利用Node.js进行网络交互。 首先,Cookie是Web服务器存储在用户浏览器上的一小段数据,它...

    易语言-淘宝分类商品数据采集

    【标题】"易语言-淘宝分类商品数据采集"所涉及的知识点主要集中在网络爬虫技术和易语言编程上,这两种技术在IT行业中都是重要的基础技能。 首先,我们要理解易语言。易语言是一种中国本土开发的、面向对象的、可视...

    2021年Python面试题总结.docx

    根据给定文件的信息,我们可以提炼出以下...这些知识点涵盖了线程池的基本原理、字典的合并技巧、GUI与GPL的概念介绍、网络爬虫的工作流程以及处理反爬措施的方法等多个方面,对于准备Python面试的求职者来说非常实用。

    spider网络蜘蛛抓资源实现

    本文将深入探讨如何使用C语言实现一个基本的网络蜘蛛,它基于【广度优先搜索(BFS)】策略进行网页抓取,并利用【哈希表】进行高效的数据存储。 首先,我们要理解【广度优先搜索】的概念。BFS是一种图遍历算法,从...

Global site tag (gtag.js) - Google Analytics