python 根据标签名获取标签内容


import re
import json

import requests
from bs4 import BeautifulSoup
import lxml.html
from lxml import etree

result = requests.get('http://example.webscraping.com/places/default/view/Algeria-4')
with open('123.html', 'wb') as f:
    f.write(result.content)
# print(parse_regex(result.text))
test_data = """
        
Harry Potter 29.99 Learning XML 39.95 Python 40
""" # //div/ul/li/a[@id] 选取a标签中带有id属性的标签 # //div/ul/li/a 选取所有a标签 # //div/ul/li[2]/a """ / 从根标签开始 必须具有严格的父子关系 // 从当前标签 后续节点含有即可选出 * 通配符 选择所有 //div/book[1]/title 选择div下第一个book标签的title标签 //div/book[1]/tittle[@lang="zh"] 选择div下第一个book标签的title标签并且内容是zh的title标签 //div/book/title //book/title //title 具有相同结果 只不过选取路径不一样 //book/title/@* 将title所有的属性值选出来 //book/title/text() 将title的内容选择出来,使用内置函数 //a[@href="link1.html" and @id="places_neighbours_row"] //div/book/[last()]/title/text() 将最后一个book元素选出 //div/book[price > 39]/title/text() 将book子标签price数值大于39的选择出来 //li[starts-with(@class,'item')] 将class属性前缀是item的选出来 //title[contains(@lang,"eng")]将title属性lang含有eng关键字的标签选出 """ html = lxml.html.fromstring(test_data) # 加载任意一个字符串 html_data = html.xpath('//title[contains(@lang,"eng")]') # xpath 查找路径 # print(dir(html_data[0])) # 查看html_data有什么功能 print(html_data) for i in html_data: print(i.text)

 

你可能感兴趣的:(python 根据标签名获取标签内容)