爬虫xpath相关
import requestsimport os
import time
from lxml import etree
url = 'https://wuhan.esf.fang.com/'
headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.163 Safari/537.36'}
response = requests.get(url,headers=headers)
result = response.text
root = etree.HTML(result)
title = root.xpath('//dd/p/text()')
for each in title:
content = each.strip()
print(content)
尝试写一个爬房天下武汉二手房信息,用xapth爬出房源信息中户型 面积 层高等信息,得到的是一个列表,用strip函数去掉空格后打印出来的是一条一条的信息,想把同一房源的相关信息整合到一起,如何实现?网页源代码中房源信息<p>节点中信息文本用<i>隔成一段一段的,如何处理提取整合?
<p class="tel_shop">
3室2厅
<i>|</i>
89.48㎡
<i>|</i>
低层(共18层)
<i>|</i>
南北向
<i>|</i>
2009年建
<i>|</i>
<span class="people_name"> import requests
import os
import time
from lxml import etree
url = 'https://wuhan.esf.fang.com/'
headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.163 Safari/537.36'}
response = requests.get(url,headers=headers)
result = response.text
result = result.replace('<i>|</i>','')
root = etree.HTML(result)
title = root.xpath('//p/[@class="tel_shop"]')
for each in title:
content = each.strip()
print(content)
虽然没有达到我想要的效果,可能是我自己没有表达清楚。但是你这个建议提供了一个很好的思路,就是得到html源代码后可以先对代码文本进行预处理,把奇怪的格式简化。感谢
页:
[1]