热门推荐
爬虫:网页信息提取
2024-10-31 20:13

网页信息提取常用的python工具包括正则表达式、CSS以及xpath.

爬虫:网页信息提取

叶落阁 的正则表达式总结;
以及正则表达式的在线测试工具

XML中的节点关系包括:父(parent)、子(children)、同胞(sibling)、先辈(ancestor)、后代(descendant).
常用的路径表达式:

常见的表达形式:

bookstore 选取bookstore元素的所有子节点 /bookstore 选取根元素bookstore bookstore/book 选取属于bookstore的所有book子元素 //book 选取所有book子元素,而不管它们在文档中的位置 bookstore//book 选取属于bookstore后代的所有book子元素(忽略位置限定) //@lang 选取lang的所有属性

谓语用来查找某个特定的节点或者包含某一个特定的值的节点,被嵌在方括号中。
常见的表达式有:

/bookstore/book[1] 选取bookstore的第一个book子元素 /bookstore/book[last(i)] 选取bookstore的最后i个book子元素 /bookstore/book[position()< 3] 选取bookstore中book子元素最前面的两个 //title[@lang] 选取所有拥有lang属性的title元素 //title[@lang="eng"] 选取所有拥有lang属性,且属性值为eng的title元素 /bookstore/book[price>35.00] 选取bookstore元素的所有book元素,且其中的price元素的值必须大于35.00

选取未知节点

通配符 * 匹配任何元素 @* 匹配任何属性节点 node() 匹配任何类型的节点 “|” 或运算符,连接若干路径,如: //title|//price

xpath的语法在应用的时候需要将Python抓取的网页转化为xml.

如果元素的名字过长,找不到其他较短的元素名,可以考虑正则表达式,或者使用contains,即:

注:

Beautiful Soup 将复杂HTML文档转化成一个复杂的属性结构,每一个节点都是python对象,归纳为四类:Tag,NaviableString,BeautifulSoup,comment.
Tag是HTML中的标签。Tag的属性有.

NavigableString:用来获取标签内部的文字。

BeautifulSoup对象表示一个文档的内容,大多数情况下,将它看作是Tag对象。
Comment是特殊的NavigableString对象,其输出的内容不包括注释符号。

遍历文档树:

  1. 直接遍历子节点:
    1. 所有子孙节点: 属性,对所有tag的子孙节点进行递归循环。
    2. 节点内容::如果一个节点没有标签,则该属性会返回该节点里面的内容。如果只有唯一的一个标签,那么将返回最里面的内容。
    3. 搜索文档树

      1)传字符串:BeautifulSoup将会匹配查找与字符串完整匹配的内容
      2)传正则表达式。如果传入正则表达式作为参数,BeautifulSoup会通过正则表达式的来匹配内容。

      3)传列表。BeautifulSoup会将于列表中任一元素匹配的内容返回。
      如:
      4)关键词参数:

      css(教程)查找

      标签名不加任何修饰,类名前加.,id名前加#.返回类型为

      1)通过标签名查找。如
      2)通过类名查找。如
      3)通过id查找。如
      4)组合查找。如
      5)属性查找。如:
      6)获取内容。如:

          以上就是本篇文章【爬虫:网页信息提取】的全部内容了,欢迎阅览 ! 文章地址:http://dfvalve.xrbh.cn/quote/1267.html 
           行业      资讯      企业新闻      行情      企业黄页      同类资讯      网站地图      返回首页 迅博思语资讯移动站 http://keant.xrbh.cn/ , 查看更多