python实现爱奇艺登陆的密码RSA加密 Python 第1张

前言

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。

加企鹅群695185429即可免费获取,资料全在群文件里。资料可以领取包括不限于Python实战演练、PDF电子文档、面试集锦、学习资料等

本期,笔者通过Python实现对大麦网近期全国演唱会数据进行爬取,通过分析,我们发现大麦网属于Python爬虫策略中“中等型”难度网站,演唱会数据封装在json文件中。因此,我们简单的通过requests、json就可以将数据爬取出来,后期通过pandas进行数据筛选并保存至Excel文件中。

1.目标网站分析

 

python实现爱奇艺登陆的密码RSA加密 Python 第2张

检查一下看xhr中有没有我们需要的数据。

 

python实现爱奇艺登陆的密码RSA加密 Python 第3张

 

python实现爱奇艺登陆的密码RSA加密 Python 第4张

很好,就在xhr中用json封装了数据。

2.构造相应的Request URL

python实现爱奇艺登陆的密码RSA加密 Python 第5张

 

python实现爱奇艺登陆的密码RSA加密 Python 第6张

 

request url中只有一个参数变化,那就是“Page=”这个选项变了,简单了,一共6页,直接循环构造了。

python实现爱奇艺登陆的密码RSA加密 Python 第7张

 

for i in range(1,7):
    url=f'https://search.damai.cn/searchajax.html?keyword=&cty=&ctl=%E6%BC%94%E5%94%B1%E4%BC%9A&sctl=&tsg=0&st=&et=&order=1&pageSize=30&currPage={i}&tn='
#  print(url)

 

3.requests爬虫走起

直接上代码:

def crawl(url):   
    headers={
        'cookie': 'cna=J7K2Fok5AXECARu7QWn6+cxu; isg=BCcnDiP-NfKV5bF-OctWuXuatl3xrPuOyBVJJfmQLrZn6ESqAX0y3jrhCuj2ANMG; l=eBSmWoPRQeT6Zn3iBO5whurza77O1CAf1sPzaNbMiIncC6BR1AvOCJxQLtyCvptRR8XcGLLB4nU7C5eTae7_7CDmndLHuI50MbkyCef..',
        'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36'
    }
    response=requests.get(url,headers=headers)
    json_text=json.loads(response.text)
    # print(json_text.keys())
    rdata=json_text['pageData']['resultData']
    # print(rdata)
    return(rdata)

 

    加一个headers,简单做一个防反爬。

4.保存至excel文件

基本思路是将每页数据保存成pandas的DataFrame结构,然后进行拼接,拼接完后再保存到Excel文件中。

inidata=pd.DataFrame(columns=('name','actors','cityname','showtime','price_str','venue','venuecity','verticalPic'))
for i in range(1,7):
    url=f'https://search.damai.cn/searchajax.html?keyword=&cty=&ctl=%E6%BC%94%E5%94%B1%E4%BC%9A&sctl=&tsg=0&st=&et=&order=1&pageSize=30&currPage={i}&tn='
   # print(url)
   # print(crawl(url))
    data=pd.DataFrame(crawl(url))
    data1=data[['name','actors','cityname','showtime','price_str','venue','venuecity','verticalPic']]
    inidata=inidata.append(data1)
# print(inidata)
inidata.to_excel('大麦网演唱会.xlsx',index=0)

 

5.看看效果

 

python实现爱奇艺登陆的密码RSA加密 Python 第8张

 

完美收工!

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄