Python爬虫实战:用lxml抓取58同城二手房信息

想用Python获取最新的房产信息?本文将带你使用requestslxml库,编写一个爬虫,从58同城网站提取二手房数据。

目标网站: https://bj.58.com/ershoufang/pn1/

提取内容: 二手房标题、价格

代码实现:

import requests
from lxml import etree

# 发送HTTP请求获取网页内容
url = 'https://bj.58.com/ershoufang/pn1/'
response = requests.get(url)
html = response.text

# 创建etree_html对象
etree_html = etree.HTML(html)

# 解析页面数据
house_list = etree_html.xpath('//ul[@class="house-list-wrap"]/li')
for house in house_list:
    title = house.xpath('.//h2/a/text()')[0]
    price = house.xpath('.//div[@class="price"]/p/text()')[0]
    print('房屋标题:', title)
    print('房屋价格:', price)
    print('-----------')

代码解析:

  1. 导入库: 首先导入requests库用于发送HTTP请求,lxml库用于解析HTML文档。
  2. 获取网页内容: 使用requests.get()方法获取目标网页的HTML代码。
  3. 创建etree对象: 使用etree.HTML()方法将HTML代码解析成etree对象,方便后续使用XPath进行数据提取。
  4. 解析数据:
    • 使用XPath表达式 //ul[@class='house-list-wrap']/li 定位到包含所有房源信息的列表。
    • 循环遍历每个房源,使用XPath表达式 .//h2/a/text().//div[@class='price']/p/text() 提取房屋标题和价格。
    • 打印提取到的信息。

注意事项:

  • 网站结构可能发生变化,导致XPath表达式失效,需要根据实际情况调整。
  • 爬取数据时应遵循 robots 协议,避免对目标网站造成压力。

希望本文能帮助你快速入门Python爬虫,并掌握使用lxml库提取网页数据的技巧。

Python爬虫实战:用lxml抓取58同城二手房信息

原文地址: https://www.cveoy.top/t/topic/f4ps 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录