返回顶部
首页 > 资讯 > 后端开发 > Python >怎么在python中利用Selenium+Requests爬取数据
  • 926
分享到

怎么在python中利用Selenium+Requests爬取数据

2023-06-14 19:06:16 926人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

本篇文章给大家分享的是有关怎么在python中利用selenium+Requests爬取数据,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。Python的数据类型有哪些?pyth

本篇文章给大家分享的是有关怎么在python中利用selenium+Requests爬取数据,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

Python的数据类型有哪些?

python的数据类型:1. 数字类型,包括int(整型)、long(长整型)和float(浮点型)。2.字符串,分别是str类型和unicode类型。3.布尔型,Python布尔类型也是用于逻辑运算,有两个值:True(真)和False(假)。4.列表,列表是Python中使用最频繁的数据类型,集合中可以放任何数据类型。5. 元组,元组用”()”标识,内部元素用逗号隔开。6. 字典,字典是一种键值对的集合。7. 集合,集合是一个无序的、不重复的数据组合。

观察页面可知,页面数据属于动态加载 所以现在我们通过抓包工具,获取数据包

怎么在python中利用Selenium+Requests爬取数据

观察其url和参数

url="https://www.laGou.com/jobs/positionajax.JSON?px=default&needAddtionalResult=false"参数:city=%E5%8C%97%E4%BA%AC  ==》城市first=true  ==》无用pn=1  ==》页数kd=%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90  ==》商品关键词

所以我们要想实现全站爬取,需要有city和页数

三、获取所有城市和页数

我们打开拉勾网,观察后发现,他的数据并不是完全展示的,比如说 在城市筛选选择全国 仅仅只显示30页 但总页数是远远大于30页的;我又选择北京发现是30页又选择北京下的海淀区又是30页,可能我们无法把数据全部的爬取,但我们可以尽可能的将数据多的爬取

怎么在python中利用Selenium+Requests爬取数据
怎么在python中利用Selenium+Requests爬取数据

我们为了获取全站数据,必然离不开的有两个参数 一个是城市一个是页数,所以我们利用selenium自动化去获取所有城市和对应页数

def City_Page(self):    City_Page={}    url="Https://www.lagou.com/jobs/allCity.html?keyWord=%s&px=default&companyNum=0&isCompanySelected=false&labelWords="%(self.keyword)    self.bro.get(url=url)    sleep(30)    print("开始获取城市及其最大页数")    if "验证系统" in self.bro.page_source:        sleep(40)    html = etree.HTML(self.bro.page_source)    city_urls = html.xpath('//table[@class="word_list"]//li/input/@value')    for city_url in city_urls:        try:            self.bro.get(city_url)            if "验证系统" in self.bro.page_source:                sleep(40)            city=self.bro.find_element_by_xpath('//a[@class="current_city current"]').text            page=self.bro.find_element_by_xpath('//span[@class="span totalNum"]').text            City_Page[city]=page            sleep(0.5)        except:            pass    self.bro.quit()    data = json.dumps(City_Page)    with open("city_page.json", 'w', encoding="utf-8")as f:        f.write(data)    return City_Page

四、生成params参数

我们有了每个城市对应的最大页数,就可以生成访问页面所需的参数

def Params_List(self):    with open("city_page.json", "r")as f:        data = json.loads(f.read())    Params_List = []    for a, b in zip(data.keys(), data.values()):        for i in range(1, int(b) + 1):            params = {                'city': a,                'pn': i,                'kd': self.keyword            }            Params_List.append(params)    return Params_List

五、获取数据

最后我们可以通过添加请求头和使用params url来访问页面获取数据

def Parse_Data(self,params):    url = "https://www.lagou.com/jobs/positionAjax.json?needAddtionalResult=false"    header={        'referer': 'https://www.lagou.com/jobs/list_%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90?labelWords=&fromSearch=true&suginput=',        'user-agent': 'Mozilla/5.0 (windows NT 10.0; Win64; x64) AppleWEBKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.114 Safari/537.36',        'cookie':''    }    try:        text = requests.get(url=url, headers=header, params=params).text        if "频繁" in text:            print("操作频繁,已被发现 当前为第%d个params"%(i))        data=json.loads(text)        result=data["content"]["positionResult"]["result"]        for res in result:            with open(".//lagou1.csv", "a",encoding="utf-8") as f:                writer = csv.DictWriter(f, res.keys())                writer.writerow(res)        sleep(1)    except Exception as e:        print(e)        pass

以上就是怎么在python中利用Selenium+Requests爬取数据,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注编程网Python频道。

--结束END--

本文标题: 怎么在python中利用Selenium+Requests爬取数据

本文链接: https://www.lsjlt.com/news/274227.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 怎么在python中利用Selenium+Requests爬取数据
    本篇文章给大家分享的是有关怎么在python中利用Selenium+Requests爬取数据,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。python的数据类型有哪些pytho...
    99+
    2023-06-14
  • python爬虫之利用Selenium+Requests爬取拉勾网
    目录一、前言二、分析url三、获取所有城市和页数四、生成params参数五、获取数据六、总结一、前言 利用selenium+requests访问页面爬取拉勾网招聘信息 二、分析url...
    99+
    2024-04-02
  • 怎么在python中利用selenium爬取斗鱼弹幕
    怎么在python中利用selenium爬取斗鱼弹幕?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。python可以做什么Python是一种编程语言,内置了许多有效的工具,P...
    99+
    2023-06-06
  • Python实战使用Selenium爬取网页数据
    目录一. 什么是Selenium?二. 安装Selenium三. 爬取网页数据四. 模拟用户交互五. 处理动态加载内容1. 显式等待2. 隐式等待六. 小结一. 什么是Seleniu...
    99+
    2023-05-18
    Python Selenium爬取网页数据 Python Selenium
  • Python爬虫之怎么使用BeautifulSoup和Requests抓取网页数据
    这篇文章主要介绍了Python爬虫之怎么使用BeautifulSoup和Requests抓取网页数据的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Python爬虫之怎么使用BeautifulSoup和Reque...
    99+
    2023-07-05
  • python爬虫中requests库怎么用
    小编给大家分享一下python爬虫中requests库怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!python爬虫—requests库的用法request...
    99+
    2023-06-25
  • 在Python中使用requests库爬取数据时返回为空如何解决
    在Python中使用requests库爬取数据时返回为空如何解决?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。Python主要用来做什么Python主要应用于:...
    99+
    2023-06-06
  • 怎么用Python爬取数据
    这篇文章主要介绍“怎么用Python爬取数据”,在日常操作中,相信很多人在怎么用Python爬取数据问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么用Python爬取数据”的疑惑有所帮助!接下来,请跟着小编...
    99+
    2023-06-16
  • 怎么在python中使用xpath爬取网上数据
    本篇文章给大家分享的是有关怎么在python中使用xpath爬取网上数据,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。设计数据库from django.db ...
    99+
    2023-06-06
  • python selenium实现智联招聘数据爬取
    目录一、主要目的二、前期准备三、思路分析四、具体源代码五、部分成果展示六、总结一、主要目的 最近在玩Python网络爬虫,然后接触到了selenium这个模块,就捉摸着搞点有意思的,...
    99+
    2024-04-02
  • Python爬虫之使用BeautifulSoup和Requests抓取网页数据
    目录一、简介二、网络爬虫的基本概念三、Beautiful Soup 和 Requests 库简介四、选择一个目标网站五、使用 Requests 获取网页内容六、使用 Beautifu...
    99+
    2023-05-14
    Python爬虫 使用BeautifulSoup和Requests Python爬虫抓取网页数据
  • 怎么使用python爬虫爬取数据
    本篇内容介绍了“怎么使用python爬虫爬取数据”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!python爬出六部曲第一步:安装reques...
    99+
    2023-06-29
  • 怎么在python中利用requests发送请求
    这篇文章给大家介绍怎么在python中利用requests发送请求,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。python可以做什么Python是一种编程语言,内置了许多有效的工具,Python几乎无所不能,该语言通...
    99+
    2023-06-14
  • 怎么在python中利用requests检查请求
    怎么在python中利用requests检查请求?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。python有哪些常用库python常用的库:1.requesut...
    99+
    2023-06-14
  • python中selenium如何实现智联招聘数据爬取
    这篇文章将为大家详细讲解有关python中selenium如何实现智联招聘数据爬取,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。python可以做什么Python是一种编程语言,内置了许多有效的工具,Py...
    99+
    2023-06-14
  • 使用python怎么爬取数据
    使用python怎么爬取数据?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。Python的优点有哪些1、简单易用,与C/C++、Java、C# 等传统语言相比,P...
    99+
    2023-06-14
  • python爬虫怎么利用requests制作代理池s
    本篇内容介绍了“python爬虫怎么利用requests制作代理池s”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!  爬取代理然后验证代理,...
    99+
    2023-06-02
  • Python中怎么利用Beautifulsoup爬取网站
    这篇文章将为大家详细讲解有关Python中怎么利用Beautifulsoup爬取网站,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。1.开始前准备1 python3,本篇博客内容采用pytho...
    99+
    2023-06-17
  • 怎么在Django中使用Scrapy爬取数据
    怎么在Django中使用Scrapy爬取数据?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。在django项目根目录位置创建scrapy项目,django_12是django...
    99+
    2023-06-14
  • Python中怎么爬取音频数据
    本篇文章为大家展示了Python中怎么爬取音频数据,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。  分析频道下面就是开始获取每个频道中的全部音频数据了,前面通过解析页面获取到了美...
    99+
    2023-06-17
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作