0

准备做个检测新股申购的iphone widget(下滑屏幕顶就出来的那个),widget方面pytonista里面有案例应该不难

目标网址:
http://m.data.eastmoney.com/x...

网页源代码分析
json 内容 搜 defaultData
另一个是 div clasa= day-list
试了两个返回都是空

下面是代码

import requests
import json
import html5lib
from bs4 import BeautifulSoup as BS

headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36'}

url = 'http://m.data.eastmoney.com/xg/xgsg.html'

r = requests.get(url, headers = headers)
r.encoding = 'UTF-8'
soup = BS(r.text, 'html5lib')

div = soup.find_all('div day-list')
鲨鱼 5
2018-01-27 提问
1 个回答
1

已采纳
$.ajax({
                url: '/XG/XgsgList',
                type: 'GET',
                data: {
                    'pagesize': 30, 'page': countNum
                },
                beforeSend: function () {
                    //请求前调用函数,如果它返回 false ,请求将被取消。
                    loadingDiv.showThis('see_more');
                },
                dataType: "json",
                success: function (data) {
                    LoadTable(data, sgUrlArr, onload)
                },
                error: function () {
                    $("#see_more").hide();
                    $("#xgsg").append('<div class="day-list"><table><tbody><tr><td colspan="4">数据加载失败</td></tr></tbody></table></div>');
                }
            });

因为他是在这里加载的
你最开始爬虫的html里没有day-list

<div id="xgsg" class="tab-panel active">
        <table class="tab-header">
            <tr>
                <td class="pd10 w19b"><div class="lh20 ">名称</div><div class="lh20 ">申购码</div></td>
                <td class="pd10 w19b"><div class="lh20 ">网上</div><div class="lh20 ">发行数</div></td>
                <td class="pd10 w24b"><div class="lh20 ">发行价</div><div class="lh20 ">市盈率</div></td>
                <td class="pd10 w19b">申购上限</td>
                <td class="pd10 w19b">状态</td>
            </tr>
        </table>
    </div>

撰写答案

推广链接