阿里法拍详情页爬取

本文介绍如何利用Python进行网络爬虫,详细讲解了爬取阿里法拍网站上的详情页面信息的步骤,包括HTML解析技巧和常用库的使用,旨在提升开发者在网络数据抓取方面的能力。
摘要由CSDN通过智能技术生成
import json
import re
import time
import datetime
import requests
import csv
import random
from lxml import etree
from selenium import webdriver
from openpyxl import load_workbook

# 全局错误字典
error_dict = {"ItemName_Error": "标的物名称不存在或获取失败",
              "ItemPrice_Error": "标的物价格不存在或获取失败",
              "ItemTime_Error": "标的物拍卖时间不存在或获取失败",
              "J_desc_Error": "标的物详情不存在或获取失败",
              "J_NoticeDetail_Error": "变卖公告不存在或获取失败",
              "J_ItemNotice_Error": "变卖须知不存在或获取失败",
              "J_RecordContent_Error": "应买记录不存在或获取失败"}


# 解析网页
def get_text(url, head):
    resp = requests.get(url, headers=head)
    resp.encoding = "gbk"
    return resp


# 变html格式
def get_HTML(resp):
    HTML = etree.HTML(resp.text)
    return HTML


# 获取标的物的名称
def get_ItemName(resp):
    try:
        obj_name = re.compile(rf'<span  class="item-status" >.*?</span>(?P<name>.*?)</h1>', re.S)
        result_name = obj_name.search(resp.text)
        nameStr = result_name.group('name')
        nameStr = nameStr.strip()
    except:
        nameStr = error_dict["ItemName_Error"]
    return nameStr


# 获取标的物价格
def get_ItemPrice(resp):
    try:
        obj_price = re.compile(r'<span class="pm-current-price J_Price">.*?<em>(?P<price>.*?)</em>', re.S)
        result_price = obj_price.search(resp.text)
        price_Str = result_price.group('price')
        price_Str = price_Str.strip()
        price_Str = price_Str + "元"
    except:
        price_Str = error_dict["ItemPrice_Error"]
    return price_Str


# 获取标的物剩余时间戳
def get_ItemTime(HTML):
    try:
        now_time = HTML.xpath("//li[@id='sf-countdown']/@data-now")[0]
        end_time = HTML.xpath("//li[@id='sf-countdown']/@data-end")[0]
        end_timeStamp = float(end_time) / 1000
        ret_datetime_end = datetime.datetime.utcfromtimestamp(end_timeStamp).strftime("%Y-%m-%d %H:%M:%S")
    except:
        ret_datetime_end = error_dict["ItemTime_Error"]
    return ret_datetime_end


# 为链接添加头部
def apd_http(url):
    if "http
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值