#lxml是pythoon中用于处理xml和html最简单最完善的模块 #它利用XPath模块就可以实现从xml和html解析数据 #什么是XPath #一种专门在xml和html查找数据的语言 #XPath使用路径表达式 #在xml和html进行导航 #XPath使用路径表达式和常用的相对和绝对路径很相似 #XPath的语法结构 #XPath必须理解的概念:树,节点,根节点,元素节点,属性节点 #注释节点,文本节点 #树:指整个html或者xml #节点:树结构中的每个部分(标签,文本,属性,注释等)就是一个节点 #树结构中第一个节点(最外层的标签)就是根节点 #元素节点:一个标签整体就是一个元素节点 #属性节点:标签内的一个属性就是一个属性节点 #注释节点:就是一个注释 #文本节点:标签内的一个文字就是一个文本节点 #什么是xml? #一种可拓展标记语言,很像html的标记语言 #和html完全属于两个领域的语言 #html用于在网页中显示数据 #xml用于在网络中传输数据,和存储数据 #创建xml文件 #file然后xxx.xml即可
#先区分动静态页面 #1,看源代码中有没有我需要的东西 #2,有就是静态,没有就是动态 import requests from lxml import etree URL='https://bj.lianjia.com/ershoufang/rs/' HEADERS={ 'User-Agent':"" } response=requests.get(url=URL,headers=HEADERS) if response.status_code==200: htmlstr=response.text root=etree.HTML(htmlstr) #根据网页源代码,提取包含了二手房的li标签 list_li=root.xpath('./body/div[@class="content "]/div[@class="leftContent"]/ul/li') print(list_li) for xx in list_li: housetext=xx.xpath('./div[1]/div[1]/a/text()') if housetext!=None: print(housetext) else:print("判断错误") #提取每个二手房的信息 else:print('网页拒绝访问') # div.info.clear > div.title > a