python爬虫,记录一下爬取过程,列表数据,翻页,post方式,保存字典

2021/7/3 17:21:44

本文主要是介绍python爬虫,记录一下爬取过程,列表数据,翻页,post方式,保存字典,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

记录一下自己的爬虫的过程把,最近在做个项目。

要爬取的网站比较简单。

其中的问题是:

post方式,网站的数据有一些需要使用post方式才能获得。

比如,

这部分要看到《发起的项目》,需要鼠标点击,刚开始以为是ajax,其实不算,是js的方式获取的。

因此,仔细研究发现,其实网址是这样的。

https://s*****view.php?id=GKUdgjKayCQvY

具体部分省略,看这个网址,其实没什么,但是通过浏览器检查,可以发现,鼠标点击《发起的项目》,会有一个js动作。

如果只有一页,

像这样

那么不会发现js动作。但是如果很多也,需要点击,就会发现,需要js了。

这个动作,是包含post的。

具体的参数如下

因此,其实请求的网址,可以用这样组成。

https://sd.zhiyuanyun.com/app/api/view.php?m=get_opps&type=2&id=89608371&p=3

所以,这里面就是id,p是页面。其他都是默认参数。

然后在利用post方式,构造出来这个请求就可以了。

def get_proj_number(id):
    print("((((((((( >>>>>>>> 现在开始 获取 组织 一共开展了 多少个项目 ")

    params = (('m', 'get_opps'), ('type', '2'), ('id', id), ('p', "1"), )
    response = requests.get(
        'https://sd.zhiyuanyun.com/app/api/view.php', headers=headers, params=params)
    selector = Selector(response)

这样,把p参数弄成一个for循环就可以了。

保存列表数据

最后请求下来的数据网页是一个列表

那么怎么保存这个列表。

列表包含 th  和td

那么 我直接把td 做成列表,然后zip一下。

我就弄了一个简单点的。做一个zip(list)



这篇关于python爬虫,记录一下爬取过程,列表数据,翻页,post方式,保存字典的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程