栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python入门 爬虫笔记

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python入门 爬虫笔记

先将要用到的包导入

import requests
import time
import random
import pandas as pd
import re
import lxml.html

​​​​​​行情中心:国内快捷全面的股票、基金、期货、美股、港股、外汇、黄金、债券行情系统_东方财富网d​​​​​​

到目标网站找到url获取单页的数据并构造headers

def gethtml(cmd,page):
      
    headers = {
        'Accept':'*/*',
        'Accept-Encoding':'gzip, deflate',
        'Accept-Language':'zh-CN,zh;q=0.9',
        'Connection':'keep-alive',
        'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.81 Safari/537.36'
    }
    url="http://quote.eastmoney.com/center/gridlist.html#hs_a_board"
    r = requests.get(url)
    pat = "data:[(.*?)]"
    data = re.compile(pat,re.S).findall(r.text)
    return data

以上只进行了单页的爬取数据,通过for循环进行翻页操作

def getstock(cmd,page):
    data = gethtml(cmd,page)
    datas = data[0].split('","')
    stocks = []
    for i in range(len(datas)):
            stock = datas[i].replace('"',"").split(",")
            stocks.append(stock)
            return stocks

为获取不同的股票数据,构造一个字典将不同板块对数据进行提取,并以Excel文件保存在本地def main():

    fs = {"上证":"m:0+t:6,m:0+t:80,m:1+t:2,m:1+t:23","深圳":"m:1+t:2,m:1+t:23"}
    for i in fs.keys():
        page = 1
        stocks = getstock(fs[i],page)
        while True:
            page +=1
            if gethtml(fs[i],page)!=gethtml(fs[i],page-1):
                stocks.extend(getstock(fs[i],page))
            else:
                break
        df = pd.Dataframe(stocks)
        columns={1:"代码",2:"名称",3:"最新价格",4:"跌涨额",5:"跌涨幅",6:"成交量",7:"成交额",8:"振幅",9:"最高",10:"最低",11:"今开",12:"昨收",13:"量比",14:"时间"}
        df.rename(columns = columns,inplace=True)
        df.to_excel("股票/"+i+".xls")
        print("已保存"+i+".xls")
main()

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/342259.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号