怎么进行JSOUP 爬虫的分析
这期内容当中小编将会给大家带来有关怎么进行JSOUP 爬虫的分析,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。
规则编写说明文档
通用选择器(*)是隐含在没有元素选择器提供 (i.e.
*.header
and.header
is equivalent).样式 匹配 例子 *
任何元素 *
tag
通过Tga标签获取元素 div
ns|E
elements of type E in the namespace ns fb|name
finds<fb:name>
elements#id
elements with attribute ID of "id" div#wrap
,#logo
.class
elements with a class name of "class" div.left
,.result
[attr]
elements with an attribute named "attr" (with any value) a[href]
,[title]
[^attrPrefix]
elements with an attribute name starting with "attrPrefix". Use to find elements with HTML5 datasets [^data-]
,div[^data-]
[attr=val]
elements with an attribute named "attr", and value equal to "val" img[width=500]
,a[rel=nofollow]
[attr="val"]
elements with an attribute named "attr", and value equal to "val" span[hello="Cleveland"][goodbye="Columbus"]
,a[rel="nofollow"]
[attr^=valPrefix]
elements with an attribute named "attr", and value starting with "valPrefix" a[href^=http:]
[attr$=valSuffix]
elements with an attribute named "attr", and value ending with "valSuffix" img[src$=.png]
[attr*=valContaining]
elements with an attribute named "attr", and value containing "valContaining" a[href*=/search/]
[attr~=regex]
elements with an attribute named "attr", and value matching the regular expression img[src~=(?i)\\.(png|jpe?g)]
The above may be combined in any order div.header[title]
组合器
E F
an F element descended from an E element div a
,.logo h2
E > F
an F direct child of E ol > li
E + F
an F element immediately preceded by sibling E li + li
,div.head + div
E ~ F
an F element preceded by sibling E h2 ~ p
E, F, G
all matching elements E, F, or G a[href], div, h4
伪选择器
:lt(n)
elements whose sibling index is less than n td:lt(3)
finds the first 3 cells of each row:gt(n)
elements whose sibling index is greater than n td:gt(1)
finds cells after skipping the first two:eq(n)
elements whose sibling index is equal to n td:eq(0)
finds the first cell of each row:has(selector)
elements that contains at least one element matching the selector div:has(p)
finds divs that contain p elements:not(selector)
elements that do not match the selector. See also Elements.not(String)
div:not(.logo)
finds all divs that do not have the "logo" class.div:not(:has(div))
finds divs that do not contain divs.:contains(text)
elements that contains the specified text. The search is case insensitive. The text may appear in the found element, or any of its descendants. p:contains(jsoup)
finds p elements containing the text "jsoup".:matches(regex)
elements whose text matches the specified regular expression. The text may appear in the found element, or any of its descendants. td:matches(\\d+)
finds table cells containing digits.div:matches((?i)login)
finds divs containing the text, case insensitively.:containsOwn(text)
elements that directly contain the specified text. The search is case insensitive. The text must appear in the found element, not any of its descendants. p:containsOwn(jsoup)
finds p elements with own text "jsoup".:matchesOwn(regex)
elements whose own text matches the specified regular expression. The text must appear in the found element, not any of its descendants. td:matchesOwn(\\d+)
finds table cells directly containing digits.div:matchesOwn((?i)login)
finds divs containing the text, case insensitively.The above may be combined in any order and with other selectors .light:contains(name):eq(0)
结构伪选择器
:root
The element that is the root of the document. In HTML, this is the html
element:root
:nth-child(an+b)
elements that have
In addition to this,an+b-1
siblings before it in the document tree, for any positive integer or zero value ofn
, and has a parent element. For values ofa
andb
greater than zero, this effectively divides the element's children into groups of a elements (the last group taking the remainder), and selecting the bth element of each group. For example, this allows the selectors to address every other row in a table, and could be used to alternate the color of paragraph text in a cycle of four. Thea
andb
values must be integers (positive, negative, or zero). The index of the first child of an element is 1.:nth-child()
can takeodd
andeven
as arguments instead.odd
has the same signification as2n+1
, andeven
has the same signification as2n
.tr:nth-child(2n+1)
finds every odd row of a table.:nth-child(10n-1)
the 9th, 19th, 29th, etc, element.li:nth-child(5)
the 5h li:nth-last-child(an+b)
elements that have an+b-1
siblings after it in the document tree. Otherwise like:nth-child()
tr:nth-last-child(-n+2)
the last two rows of a table:nth-of-type(an+b)
pseudo-class notation represents an element that has an+b-1
siblings with the same expanded element name before it in the document tree, for any zero or positive integer value of n, and has a parent elementimg:nth-of-type(2n+1)
:nth-last-of-type(an+b)
pseudo-class notation represents an element that has an+b-1
siblings with the same expanded element name after it in the document tree, for any zero or positive integer value of n, and has a parent elementimg:nth-last-of-type(2n+1)
:first-child
elements that are the first child of some other element. div > p:first-child
:last-child
elements that are the last child of some other element. ol > li:last-child
:first-of-type
elements that are the first sibling of its type in the list of children of its parent element dl dt:first-of-type
:last-of-type
elements that are the last sibling of its type in the list of children of its parent element tr > td:last-of-type
:only-child
elements that have a parent element and whose parent element hasve no other element children :only-of-type
an element that has a parent element and whose parent element has no other element children with the same expanded element name :empty
elements that have no children at all
上述就是小编为大家分享的怎么进行JSOUP 爬虫的分析了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注蜗牛博客行业资讯频道。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:niceseo99@gmail.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。
评论