@

前言

hello,大家好,在上章的内容里我们已经可以爬取到了整个网页下来,当然也仅仅就是一个网页。

因为里面还有很多很多的标签啊之类我们所不需要的东西。

额,先暂且说下本章内容,如果是没有丝毫编程基础的小白来说是比较难懂的

本章内容重点是

1、分析网站的结构来获取一个json串,也就是之前我们爬的是一个网页,这次是爬取一个Ajax请求的一个响应数据(json串)。

2、使用selenuim模块自动化工具

所以如果需要获取一些评论啊,或者一些特殊的要求都可以学一下。

先说好,更上一章一样下载好selenium模块!!python网络爬虫之入门[一]

一、获取今日头条的评论信息(request请求获取json)

1、分析数据

进入头条

在fillder中分析一下这个网页的一个请求

详细讲解:

我们测试一下

2、获取数据

ok,那么跟据我们之前所学的内容我们可以直接使用request模块请求一次

全部代码:

"""

使用requests模块爬取动态网页数据:

今日头条,某条新闻的评论信息

"""

import requests

url = "https://www.toutiao.com/api/comment/list/?group_id=6749065854995939854&item_id=6749065854995939854&offset=0&count=15"

headers = {

"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko)"

}

requests.packages.urllib3.disable_warnings()

# 请求,获得响应

response = requests.get(url, headers=headers, verify=False)

if response.status_code == 200:

# print(response.text)

# print(response.json())

print(response.text)

二、获取今日头条的评论信息(selenium请求获取)

ps:selenium模块其实是一个自动化测试工具,大家还可以深入了解,因为它不仅仅只能用来做爬虫。

还可以做为测试工具使用

1、分析数据

在使用selenium模块之前先确定好自己使用的浏览器的型号,因为知道后才能去下载属于自己的一个webdriver

比如我的浏览器型号

然后自行到网上找到自己浏览器的webdriver

每个的浏览器的driver都不一样,我的就是chromedriver.exe

然后放到自己的python解释器下的script目录下

2、获取数据

引入调用,我在上面已经把我们可能所需要的东西都获取到。也讲解了一下一下;

这个是加了一个python程序控制的点击事件。

lookthis....

额,获取到了吧,嘿嘿

房源案例(仅供参考!!!,也许爬不了了)

"""

综合案例:

使用selenium爬取 airbnb房源信息

一个房源所有的信息:_gig1e7

名称:_qhtkbey

类型及大小:_fk7kh10里边的span

价格:_1ixtnfc里面的span

_1dir9an

"""

from selenium import webdriver

import time

options = webdriver.ChromeOptions()

options.add_argument("--headless")

driver = webdriver.Chrome(options=options)

for page in range(18):

print(f"第{page+1}页数据:")

driver.get(f"https://www.airbnb.cn/s/长沙/homes?refinement_paths%5B%5D=%2Fhomes&current_tab_id=home_tab&selected_tab_id=home_tab&screen_size=large&hide_dates_and_guests_filters=false&place_id=ChIJxWQcnvM1JzQRgKbxoZy75bE&s_tag=vaaWeg7D&section_offset=4&items_offset={page*18}&last_search_session_id=7d2afba3-cc47-434c-92be-65bac7643d3b")

houseAll = driver.find_elements_by_css_selector("div._gig1e7")

i = 1

for house in houseAll:

# 名称

name = house.find_element_by_css_selector("div._qhtkbey").text

# 价格

price = house.find_element_by_css_selector("div._1ixtnfc").text

newprice = price.replace("价格", "").replace(" ", "")

# 类型及大小

typeSize = house.find_element_by_css_selector("span._fk7kh10").text

type = typeSize.split(" · ")[0]

size = typeSize.split(" · ")[1]

print(f"{i} {name} {newprice} {type} {size}")

time.sleep(2)

i = i + 1

time.sleep(5)

上面内容只能慢慢思考问题了

但是这还有一个selenium的使用方法:

后记

还是那句话,好好的分析网页结构

如果感觉本章写的还不错的话,不如。。。。。(~ ̄▽ ̄)~ ,(´▽`ʃ♡ƪ)

python自动测试p-python网络爬虫之自动化测试工具selenium[二]相关推荐

  1. Python小姿势 - # Python网络爬虫之如何通过selenium模拟浏览器登录微博

    Python网络爬虫之如何通过selenium模拟浏览器登录微博 微博登录接口很混乱,需要我们通过selenium来模拟浏览器登录. 首先我们需要安装selenium,通过pip安装: ``` pip ...

  2. python自动测试ping IP

    python自动测试ping IP,将不通的IP保存到txt中. # -*- coding: utf-8 -*- # @Time : 2023/3/6 9:14 # @Author : JulyLi ...

  3. Python开发实战案例之网络爬虫(附源码)-张子良-专题视频课程

    Python开发实战案例之网络爬虫(附源码)-35人已学习 课程介绍         课程特色: 特色1:案例驱动-围绕两大完整的Python网络爬虫实战开发案例:IT电子书下载网络爬虫和股票交易数据 ...

  4. Kail Linux渗透测试教程之网络扫描和嗅探工具Nmap

    Kail Linux渗透测试教程之网络扫描和嗅探工具Nmap 网络扫描和嗅探工具--Nmap Nmap也就网络映射器(Network Mapper),是一个免费开放的网络扫描和嗅探工具.该工具可以扫描 ...

  5. Python3 爬虫学习笔记 C04 【自动化测试工具 Selenium】

    Python3 爬虫学习笔记第四章 -- [自动化测试工具 Selenium] 文章目录 [4.1]下载驱动 [4.2]声明浏览器对象 [4.3]访问页面 [4.4]启动参数 [4.5]查找节点 [4 ...

  6. python自动测试网络通断_Python测试网络连通性示例【基于ping】

    本文实例讲述了Python测试网络连通性.分享给大家供大家参考,具体如下: Python代码 #!/usr/bin/python # -*- coding:GBK -*- ""&q ...

  7. python sub 不区分大小写_Python网络爬虫入门篇

    1. 预备知识 学习者需要预先掌握Python的数字类型.字符串类型.分支.循环.函数.列表类型.字典类型.文件和第三方库使用等概念和编程方法. Python入门篇:https://www.cnblo ...

  8. python自动测试p-Python自动化测试

    什么是自动化测试? 自动化测试,一般是指软件测试的自动化.自动化测试是把以人为驱动的测试转化为机器执行的一种过程.实际上自动化测试就是用自动化测试工具代替手工测试,即是模拟手工测试,从而利用所写脚本执 ...

  9. python百度百科api-Python即时网络爬虫:API说明

    API说明--下载gsExtractor内容提取器 1,接口名称 下载内容提取器 2,接口说明 如果您想编写一个网络爬虫程序,您会发现大部分时间耗费在调测网页内容提取规则上,不讲正则表达式的语法如何怪 ...

最新文章

  1. 我也没想到 springboot + rabbitmq 做智能家居,会这么简单
  2. JAVA企业级应用TOMCAT实战
  3. Unity3D 集成 Face++ FacePlusPlus httpClient http协议 byte数组转string
  4. 关于VS项目平台的x86,x64,Any CPU以及Debug和Release
  5. OAuth2(二)——实现
  6. [leetcode]Subsets @ Python
  7. 虹软安卓人脸识别初学
  8. 设计模式学习笔记(六:责任链模式)
  9. 日期时间格式与时间戳互转
  10. JQuery 使用笔记 2013.09.05
  11. 对vue.config.js中的代理服务器的理解
  12. java各个版本下载地址
  13. 知识图谱构建技术综述与实践
  14. 同比增长率,环比增长速度、环比发展速度
  15. New Age音乐启蒙与经典选介
  16. 在godot的canvas_item着色器中构建逆投影矩阵和逆视图矩阵
  17. 使用Electron将html网页转为exe可执行文件(全屏, 遮住任务栏, Esc退出, exe的图标/文件名修改)
  18. Python+Vue计算机毕业设计报刊征订管理系统uu609(源码+程序+LW+部署)
  19. 数据库设计实例 教务管理系统
  20. jQuery.bind() 函数详解

热门文章

  1. 融云发送自定义消息_数据源管理 | Kafka集群环境搭建,消息存储机制详解
  2. 文件格式和扩展名不匹配.文件可能已损坏_自媒体良器:音频文件批处理,FFmpeg一行搞定!果断收藏...
  3. 装完nvme固态经常蓝屏_微软确认Win10 20H2使用雷电连接固态盘会直接蓝屏死机
  4. Android React Native 笔记(一):基础
  5. 开发日记-20190517 关键词 函数式编程(一)
  6. alienware r12 i9+3090 lol卡顿问题
  7. 百分点内存数据库架构演变
  8. FreeSWITCH 学习笔记(一)
  9. git merge合并时遇上refusing to merge unrelated histories的解决方案
  10. 4)PHP命名规则,传值方式