爬虫项目1[爬取小猪短租数据]

本文分享了一次使用Python进行爬虫项目的实践经验,通过requests库和lxml.etree模块,实现了对小猪短租网站的房源信息爬取,包括房源标题、地址及价格,并详细介绍了爬虫流程和技术要点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

看了这个大神的博客—爬虫项目合集,自己也动手实践一下

请求:requests 解析:xpath
思路:找到起始网页(第一页),爬取初识网页的数据,获取下一页的链接,爬取下一页的数据,以此类推
非常简单,直接放代码:

import requests
from lxml import etree

source_url = "http://bj.xiaozhu.com/"  # 以北京地区为例
headers = {
    "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.106 Safari/537.36",
    "referer": "http://bj.xiaozhu.com/"
}  # 请求头比较简单,如果被识别可以换为更复杂的(多加几个字段)

data_lst = []  # 这里用list和dict简单存一下,最好存到数据库中(以后会用mysql)


def request(url):
    response = requests.get(source_url, headers=headers).content
    return response


def get_data(text):
    html = etree.HTML(text)
    url_lst = html.xpath(".//div[@id='page_list']//li/a[@class='resule_img_a']/@href")
    for url in url_lst:
        ht = etree.HTML(requests.get(url, headers=headers).content)
        title = ht.xpath(".//div[@class='pho_info']/h4/em/text()")[0]  # 获取房源标题
        address = ht.xpath(".//div[@class='pho_info']/p/@title")[0]  # 获取房源地址
        price = ht.xpath(".//div[@class='day_l']/span/text()")[0]  # 获取房源价格
        data_dict = {}
        data_dict["title"] = title
        data_dict["address"] = address
        data_dict["price"] = price
        data_lst.append(data_dict)
    next_url = html.xpath(".//div[@class='day_l']/span/text()")  # 获取下一页的网址
    return next_url


if __name__ == '__main__':
    next = ""
    page = 2
    for i in range(page):  # 这里的page可以自己随便设置,但不要超过页数范围
        if i == 0:
            text = request(source_url)
        else:
            text = request(next)
        next = get_data(text)
    print(data_lst)
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值