【无标题】为什么只能爬取第一页,打开第二页可以爬第二页

import requests
from bs4 import BeautifulSoup
import re
import pandas as pd
import time

def ask_html(url,headers):

    response = requests.get(url,headers=headers).text
    response.encode('GBK')
    return response


def bs_html(html):
    soup = BeautifulSoup(html, "html.parser")
    table = soup.find("tbody")
    trs  = table.find_all('tr')
    lists=[]

    for tr in trs:
        tr=str(tr)      #每页改成20个字符串,让每个串对应一支票
        find_code = re.compile(r'.*?target="_blank">(.*?)</a></td>',re.S)
        codename = find_code.findall(tr)   #代码,名称
        code = codename[0]
        name = codename[1]
        present_price = re.compile('<td class="c-rise">(.*?)</td>').findall(tr)  #现价,涨跌幅(%),涨跌,振幅(%)
        price = present_price[0]
        updown = present_price[1]
        amount = re.findall('<td>(.*?)</td>',tr)  #成交额,流通股,流通市值,市盈率
        number =amount[0]                         #序号
        Turnover = amount[-5]
        outstanding = amount[-4]
        market_value = amount[-3]
        pe = amount[-2]
        # print(code,name,price,updown,Turnover,outstanding,market_value,pe)
        list = [number,code,name,price,updown,Turnover,outstanding,market_value,pe]
        lists.append(list)
    df=pd.DataFrame(lists, index=None,columns = ['序号','代码','名称','现价','涨跌幅(%)','成交额','流通股','流通市值','市盈率'])
    print(df)

if __name__ == '__main__':
    # url = "http://q.10jqka.com.cn/"
    for i in range(1,234):  #234页
        url = r"http://q.10jqka.com.cn/index/index/board/all/field/zdf/order/desc/page/{}/ajax/1/".format(i)
        print(url)
        headers = {
            "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.51 Safari/537.36"
        }
        reponse = ask_html(url,headers)
        bs_html(reponse)
        time.sleep(1)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值