ajax 点击加载数量,ajax 点击加载更多,出现后面的内容,一次加载十条内容

1.在html部分增加两句代码

加载更多 2.js部分代码

$(function () {

$("#more").click(function () {

var page = parseInt($("#page").val());

$(this).html("加载中...");

status=$(this).attr("data-status");

if(status==1) {

status = $(this).attr("data-status", "0");

$.ajax({

type: "post",

url: "XXX",

data: "page=" + page,

dataType: "json",

success: function (data) {

data = data.data;

/*数据不够10条隐藏按钮*/

if (data.length < 10) {

$(this).hide()

} else {

$("#page").val(page + 1);//记录页码

}

insertDiv(data);

}

});

}

});

});

function insertDiv(data){

var information = $(".information");

var html = '';

for (var i = 0; i < data.length; i++) {

html +="

"+data[i].title+""+"

"+data[i].date+""

}

information.append(html);

$("#more").html("加载更多");

$("#more").attr("data-status","1");

}

### 编写雪球网数据抓取爬虫 对于编写针对雪球网的数据抓取爬虫,可以采用多种方法和技术栈来实现这一目标。考虑到网站可能具有复杂的前端逻辑以及反爬机制,推荐使用`requests`库配合`BeautifulSoup`进行静态页面解析,或者借助`Selenium`模拟浏览器行为以应对JavaScript渲染的内容。 #### 使用Requests和BeautifulSoup抓取静态内容 当目标网页主要依赖于传统的HTML/CSS/JS构建而非AJAX异步加载时,可以通过简单的HTTP GET请求获取页面源码,并通过DOM树结构定位所需信息: ```python import requests from bs4 import BeautifulSoup url = 'https://xueqiu.com/' # 雪球首页或其他具体板块链接 headers = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64)" } response = requests.get(url, headers=headers) soup = BeautifulSoup(response.text, 'html.parser') # 假设要提取文章标题列表作为例子 titles = soup.find_all('h2', class_='title') for title in titles: print(title.string.strip()) ``` 此段代码展示了基本的网络请求与HTML解析流程[^3]。 #### 利用Selenium处理动态加载内容 如果遇到更多交互式的组件或是完全由客户端脚本生成的内容,则需引入更强大的工具——Selenium WebDriver。它允许自动化控制真实浏览器实例执行操作,从而绕过某些类型的防护措施: ```python from selenium import webdriver from selenium.webdriver.common.by import By from time import sleep driver_path = '/path/to/chromedriver' # ChromeDriver路径 options = webdriver.ChromeOptions() options.add_argument('--headless') # 后台运行模式 browser = webdriver.Chrome(executable_path=driver_path, options=options) try: browser.get('https://xueqiu.com/') sleep(5) # 等待页面加载完成 elements = browser.find_elements(By.CSS_SELECTOR, '.status__item .content') for element in elements[:10]: # 获取前十条帖子正文 print(element.text) finally: browser.quit() ``` 这段示例中包含了启动无头Chrome进程访问指定网址,并等待适当时间确保所有资源都已下载完毕后再读取消息流中的部分文本节点[^4]。 请注意,在实际应用过程中还需要考虑诸如登录状态维持、异常情况处理等因素;同时务必遵循各站点的服务条款,尊重其robots.txt文件指示,合理设置请求频率以免给服务器带来过大负担。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值