Posted in Python onMay 27, 2020
前言
通过Python实现对大麦网近期全国演唱会数据进行爬取,通过分析,我们发现大麦网属于Python爬虫策略中“中等型”难度网站,演唱会数据封装在json文件中。因此,我们简单的通过requests、json就可以将数据爬取出来,后期通过pandas进行数据筛选并保存至Excel文件中。
1.目标网站分析
检查一下看xhr中有没有我们需要的数据。
很好,就在xhr中用json封装了数据。
2.构造相应的Request URL
request url中只有一个参数变化,那就是“Page=”这个选项变了,简单了?,一共6页,直接循环构造了。
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实现爱奇艺登陆的密码RSA加密内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!
python实现爱奇艺登陆密码RSA加密的方法示例详解
- Author -
其实还好啦声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。
Reply on: @reply_date@
@reply_contents@