python爬取梦幻西游召唤兽资质信息(不包含变异)
一.分析
1.爬取网站:https://xyq.163.com/chongwu/

2.获取网页源码:
request.get("https://xyq.163.com/chongwu/").text
这里就有问题了
这是查看网页源代码看到的源码,也是通过requests获取的源码,发现是空的

这是在检查处拿到的源码,发现有数据了

发现代码中没有使用json,js中也无相应json数据(2022.3.18更新:其实是有json文件的,当时没找到),因此数据是通过js动态加载出来的,因此选择selenium+火狐浏览器组合爬取页面(selenium是一个测试工具,selenium通过打开火狐驱动器加载火狐浏览器),可以获取加载js后的HTML页面
3.解析html,获取每个召唤兽data-id和名称

循环请求新的网址:https://xyq.163.com/chongwu/zhsxq.html?id=爬取的id&type=1
同样,新的网址依旧不能通过requests获取源代码

解析并抓取p标签的数据
二.代码实现:
from selenium import webdriver
from pyquery import PyQuery as pq
import pandas as pd firefox_options = webdriver.FirefoxOptions()
firefox_options.add_argument('--headless')
browser = webdriver.Firefox(options=firefox_options)
browser.get("https://xyq.163.com/chongwu/")
resp = browser.page_source
browser.quit()
data = pq(resp)
ret = data(".xxd li").items()
zhs_list = []
title = ["召唤兽名称"]
count = 0
for i in ret:
id = i.attr("data-id")
name = i.text()
browser2 = webdriver.Firefox(options=firefox_options)
browser2.get("https://xyq.163.com/chongwu/zhsxq.html?id=%d&type=1" % int(id))
resp2 = browser2.page_source
browser2.quit()
data2 = pq(resp2)
ret2 = data2(".zhszz p").items()
# 资质信息
zizhi_list = [name]
for j in ret2:
if count == 0:
top = j.text().split(" ")[0]
title.append(top)
zizhi = j('span').text()
zizhi_list.append(zizhi)
count += 1
zhs_list.append(zizhi_list) table = pd.DataFrame(zhs_list, columns=title)
print(table)
table.to_csv("梦幻西游召唤兽信息.csv",index=False,encoding="utf-8")
三.可能遇到的问题
1.如果没有下载selenium ,先下载
pip3 install selenium
2. 下载火狐浏览器驱动包firefoxdriver,https://github.com/mozilla/geckodriver/releases,下载完以后,将exe文件放入python.exe目录下,直接使用webdriver.Firefox()即可,否则就需要加上如下代码:
from selenium.webdriver.chrome.service import Service s=Service(r"你的exe文件路径")
browser = webdriver.Firefox(service=s)

四.运行结果:


python爬取梦幻西游召唤兽资质信息(不包含变异)的更多相关文章
- Python爬取拉勾网招聘信息并写入Excel
这个是我想爬取的链接:http://www.lagou.com/zhaopin/Python/?labelWords=label 页面显示如下: 在Chrome浏览器中审查元素,找到对应的链接: 然后 ...
- python爬取豆瓣视频信息代码
目录 一:代码 二:结果如下(部分例子) 这里是爬取豆瓣视频信息,用pyquery库(jquery的python库). 一:代码 from urllib.request import quote ...
- Python 爬取美团酒店信息
事由:近期和朋友聊天,聊到黄山酒店事情,需要了解一下黄山的酒店情况,然后就想着用python 爬一些数据出来,做个参考 主要思路:通过查找,基本思路清晰,目标明确,仅仅爬取美团莫一地区的酒店信息,不过 ...
- python 爬取豆瓣书籍信息
继爬取 猫眼电影TOP100榜单 之后,再来爬一下豆瓣的书籍信息(主要是书的信息,评分及占比,评论并未爬取).原创,转载请联系我. 需求:爬取豆瓣某类型标签下的所有书籍的详细信息及评分 语言:pyth ...
- python 爬取bilibili 视频信息
抓包时发现子菜单请求数据时一般需要rid,但的确存在一些如游戏->游戏赛事不使用rid,对于这种未进行处理,此外rid一般在主菜单的响应中,但有的如番剧这种,rid在子菜单的url中,此外返回的 ...
- python爬取网业信息案例
需求:爬取网站上的公司信息 代码如下: import json import os import shutil import requests import re import time reques ...
- python爬取电影网站信息
一.爬取前提1)本地安装了mysql数据库 5.6版本2)安装了Python 2.7 二.爬取内容 电影名称.电影简介.电影图片.电影下载链接 三.爬取逻辑1)进入电影网列表页, 针对列表的html内 ...
- python爬取豆瓣电影信息数据
题外话+ 大家好啊,最近自己在做一个属于自己的博客网站(准备辞职回家养老了,明年再战)在家里 琐事也很多, 加上自己 一回到家就懒了(主要是家里冷啊! 广东十几度,老家几度,躲在被窝瑟瑟发抖,) 由于 ...
- python爬取考研专业信息
伴随着2021考研成绩的公布,2021考研国家线也即将到来.大家是否有过考研的想法了?如果想考研我们就需要了解很多的信息,但是百度的上有太多信息需要我们去一一的鉴别,是比较浪费时间的.所以我们可以学习 ...
随机推荐
- 从ELF文件谈起
本文信息来源: 又是一期硬核内容:ELF文件格式 What's the difference of section and segment in ELF file format ELF Section ...
- 彩色建模(四色原型) Object Modeling in Color学习心得
定义4种类的原型,在UML中用不同颜色表示不同原型的对象 1. Party, Place, Thing Party: 事件的参与方,例如某人人.某组织等 Place: 事件的发生地,例如仓库. ...
- git常用命令及问题
Git基本操作 git init 创建新的git仓库 git clone [url] 使用 git clone 拷贝一个 Git 仓库到本地 git status 查看工作区 git stash li ...
- LGCF235B题解
简单期望/fad 题意明确,不说了. 对于高次期望,一个套路的方法是维护低次期望(?) 考虑 dp,设 \(dp1[i]\) 为前 \(i\) 次点击中 所有连续的 \(O\) 的长度之和,\(dp2 ...
- options has an unknown property 'modifyVars'. These properties are valid: 处理方法
webpack 编译时提示 ValidationError: Invalid options object. Less Loader has been initialized using an opt ...
- IBM QRadar Advisor 安全限制绕过漏洞
受影响系统:IBM QRadar Advisor 1.0.0 -2.4.0描述:CVE(CAN) ID: CVE-2019-4556 IBM QRadar Advisor是一套安全威胁分析解决方案. ...
- Mybaties——动态sql
动态 SQL 是 MyBatis 的强大特性之一.如果你使用过 JDBC 或其它类似的框架,你应该能理解根据不同条件拼接 SQL 语句有多痛苦,例如拼接时要确保不能忘记添加必要的空格,还要注意去掉列表 ...
- web服务器-nginx虚拟主机
web服务器-nginx虚拟主机 一 虚拟主机介绍 就是把一台物理服务器划分成多个虚拟的服务器, 每一个虚拟主机都可以有独立的域名和独立的目录,同时发布俩个网站. 二. 基于IP的虚拟主机 应用场景: ...
- 痞子衡嵌入式:IAR内部C-SPY调试组件配套宏文件(.mac)用法介绍
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家分享的是IAR内部C-SPY调试组件配套宏文件(.mac)用法. 痞子衡之前写过一篇 <JLink Script文件基础及其在IAR下调用 ...
- kafka follower如何与leader同步数据?
Kafka的复制机制既不是完全的同步复制,也不是单纯的异步复制.完全同步复制要求All Alive Follower都复制完,这条消息才会被认为commit,这种复制方式极大的影响了吞吐率.而异步复制 ...