pyhton爬虫--爬取扇贝单词

python requests做爬虫爬取oxford词典单词音标   import requests import re def phonetic_spelling(word): word=word.replace(" ","_") phoneticSpelling="" #url的格式有规律 request=requests.get("https://en.oxforddictionar... 阅读详情

“”"

思路

爬取所有的单词
分页爬取
写入一个文件里面
然后写入json文件中
最后写入文档
“”"

import os
import requests
from lxml import etree
def python(page):
    #起始的url
    for page in range(1,int(page)+1):
        path='./english/python'
        if not os.path.exists(path):
            os.makedirs(path)
        base_url="https://www.shanbay.com/wordlist/110521/232414/?page={}".format(page)
        response=requests.get(base_url)
        html=response.text
        # print(html)
        #将字符串格式转换成xml格式
        html_xml=etree.HTML(html)
        #获取所有的单词
        python_list=html_xml.xpath('//strong/text()')
        print(python_list)
        #获取所有的中文解释
        china_list=html_xml.xpath('//td[@class="span10"]/text()')
        print(china_list)
        big_dic={
            '{}页数'.format(page):{}
        }
        for i in range(len(china_list)):
            dic = {}
            dic['英文']=python_list[i]
            dic['翻译']=china_list[i]
            # print(dic)
            # print(type(dic))#查看数据类型
            big_dic.get('{}页数'.format(page))[python_list[i]]=china_list[i]
        import json
        path1=path+str(page)+'.txt'
        with open(path1,'w',encoding='utf-8') as f:
            f.write(json.dumps(str(big_dic)))
if __name__ == '__main__':
    page=input('请输入要爬取的页数')
    python(page)

第二种方式

‘’’
爬取扇贝网python必背词汇表
接口地址:https://www.shanbay.com/wordlist/110521/232414/
要求:获取所有的python词汇数据,形成字典,然后存储数据

思路:
    第一页:https://www.shanbay.com/wordlist/110521/232414/
    第二页:https://www.shanbay.com/wordlist/110521/232414/?page=2

‘’’

import requests,re,os,json
from lxml import etree
class Shanbei:
    def __call__(self, *args, **kwargs):
        self.get_xml(*args)

    def get_xml(self,pages):
        '''
    获取扇贝英语python页 内容 转换为xml
    :return:获取扇贝英语python页的xml
    '''
    base_url = 'https://www.shanbay.com/wordlist/110521/232414/?page='

    for page in range(1,pages+1):
        base_html = requests.get('https://www.shanbay.com/wordlist/110521/232414/?page=1').text
        base_xml = etree.HTML(requests.get(base_url+str(page)).text)
        pages = page

        # print(base_xml)

        with open('贝壳应英语.html','w',encoding='utf-8') as f :
            f.write(base_html)
        self.get_python(base_html,base_xml,pages)


def get_python(self,base_html,base_xml,pages):
    '''
    处理python页面数据
    :param base_xml:
    :return:
    '''
    #获取标题
    # main_title = base_xml.xpath("/html/body/div[@class='container main-body ']/div[@class='row']/div[@class='span8']/div[@class='row'][1]/div[@class='span8']/div[@class='well']/div[@class='row']/div[@class='span6']/h4/text()")
    #胆子获取
    worlds_rule = re.compile(r'<h4>(.*?)</h4>',re.S)
    main_title = worlds_rule.findall(base_html)

    get_words = re.compile(r'[a-z][A-Z]+',re.I)
    world_title = (get_words.findall(main_title[0]))[0]

    # print(base_html)
    print(world_title)

    # #获取本页词条数量
    trs_length = len(base_xml.xpath("/html/body/div[@class='container main-body ']/div[@class='row']/div[@class='span8']/div[@class='row'][2]/div[@class='span8']/table[@class='table table-bordered table-striped']/tbody/tr[@class='row']"))
    print(trs_length)

    #准备大字典
    shell_word_dict = {
        '必备单词{}'.format(world_title):{},
    }

    #根据词条数量获取循环次数
    for line in range(int(trs_length)):
        word = base_xml.xpath("/html/body/div[@class='container main-body ']/div[@class='row']/div[@class='span8']/div[@class='row'][2]/div[@class='span8']/table[@class='table table-bordered table-striped']/tbody/tr[@class='row'][{}]/td[@class='span2']/strong/text()".format(line+1))
        word_description = base_xml.xpath("/html/body/div[@class='container main-body ']/div[@class='row']/div[@class='span8']/div[@class='row'][2]/div[@class='span8']/table[@class='table table-bordered table-striped']/tbody/tr[@class='row'][{}]/td[@class='span10']/text()".format(line+1))
        # print(word,word_description)

        shell_word_dict.get('必备单词{}'.format(world_title))[word[0]] = word_description[0]
        print(shell_word_dict)

    #储存文件
    path = './扇贝单词/'+'第'+str(pages)+'页' +'/'
    print(path)
    if not os.path.exists(path):
        os.makedirs(path)
    file_path = path+'第'+str(pages)+'页'

    with open(file_path,'w',encoding='utf-8')as f:
        f.write(json.dumps(shell_word_dict))


if __name__ == '__main__':
    # pages = int(input('请输入需要爬取的页数'))
    pages = 3
    shanbei = Shanbei()
    shanbei(pages)
Python爬虫随笔:爬取iciba上的单词发音文件 不废话,上代码 # 抓取iciba网站上的发音文件并存储到系统中 import requests import re import random def donwload_voice(word): uapools = [ "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:75.0) Gecko/20100101 Firefox/75.0" "Mozilla/5.0 (Windstows NT 10.0; Win64; 阅读详情

相关推荐

爬虫 bs4 爬取扇贝 python 单词书

概述 本例不涉及cookie,即抓取的资源无需登录认证。爬虫主要做两件事,一个是抓取请求链接,另一个是分析响应的数据。鉴于扇贝单词书的词串页中的页码是通过js动态生成,直接抓取页面内容是不能获取,因此程序模拟了它的分页请求路径 分析 向目标url发请求,拉取响应体 分析页面 爬取指定内容 抓取链接 分析数据 数据写入文件输出,需要注意写入编码,若未指定 py 会采用操作系统的默认编码 Bea...

pardon110的博客 859

使用python爬取猫眼电影、房王、股吧论坛、百度翻译、有道翻译、高德天气、华夏基金、扇贝单词、糗事百科(扇贝单词)

''' 爬取扇贝网python必背词汇表 接口地址:https://www.shanbay.com/wordlist/110521/232414/ 要求:获取所有的python词汇数据,形成字典,然后存储数据 思路: 第一页:https://www.shanbay.com/wordlist/110521/232414/ 第二页:https://www.sh...

yu1860110的博客 494

python爬虫,爬取扇贝当日单词,保存到excel

python爬虫,爬取扇贝当日单词,cookie登录, 分页爬取当日的单词,保存到excel

爬虫(六):案例:爬取扇贝英语单词+爬取网易云所有歌手+爬取酷狗音乐所有歌手

文章目录爬取网站的流程案例一:使用xpath爬取扇贝英语单词案例二:爬取网易云音乐的所有歌手名字案例三:爬取酷狗音乐的歌手和歌单 爬取网站的流程 确定网站的哪个url是数据的来源 简要分析一下网站结构,查看数据存放在哪里 查看是否有分页,并解决分页的问题 发送请求,查看response.text是否有我们所需要的数据 筛选数据 案例一:使用xpath爬取扇贝英语单词 需求:爬取三页单词 i...

不愿意透露姓名的网友 1880

UE5新手必看:如何用蓝图系统快速打造赛车游戏(含Chaos Physics配置)

本文为UE5新手提供使用蓝图系统快速打造赛车游戏的完整指南,涵盖Chaos Physics配置、载具蓝图架构设计、控制逻辑实现等关键步骤。通过详细的实战案例和优化技巧,帮助开发者高效构建具备专业物理反馈的赛车游戏原型。

weixin_29001327的博客 387

别再手动配IP了!保姆级教程:用Cisco Packet Tracer搞定DHCP服务器配置(附实验抓包分析)

本文提供了一份详细的Cisco Packet Tracer DHCP服务器配置教程,帮助用户告别手动分配IP的繁琐过程。通过构建多子网实验环境,逐步指导DHCP地址池设置、客户端测试及协议分析,并分享常见问题排查技巧,让网络配置更高效、更智能。

weixin_42535461的博客 336

Python爬取扇贝Python必背词汇

一、需求分析 爬取网址:http://www.shanbay.com/wordlist/110521/232414/ 需求: 获取所有的 python 词汇数据,形成字典,存储数据。 二、代码实现 #导入包 from urllib import request from lxml import etree #词汇表 words = [] def shanbei(page): url = "http://www.shanbay.com/wordlist/110521/232414/"

weixin_43520450的博客 1107

自托管AI邮件助手imap-mcp:安全连接Claude与个人邮箱的完整指南

在AI助手日益普及的今天,如何安全地让AI访问个人邮箱数据成为关键挑战。传统方法如直接暴露IMAP/SMTP凭证存在严重安全隐患,而第三方SaaS服务则涉及隐私泄露风险。Model Context Protocol (MCP) 作为一种新兴的标准化协议,为AI工具安全接入提供了解决方案。其核心价值在于实现数据源与AI助手间的安全、标准化交互,特别适用于处理敏感信息的场景。imap-mcp正是基于MCP协议构建的自托管邮件网关,它通过多层安全机制(包括主密钥加密和OAuth令牌哈希化)保护用户凭证,让用户能在

weixin_28295799的博客 654

不写一段代码来获取扇贝单词的接口数据

不写一段代码来获取扇贝单词的接口数据

bachelores的博客 1697

Plaxis软件简介及 Plaxis Python API环境搭建、自动化建模、Python全自动实现、高级案例分析

本次课程主要针对岩土工程中的各种问题(塑性、渗流、固结、动力、稳定安全、热力TM),用四天时间,教大家如何一步一步地搭建自己的Plaxis模型,包括Plaxis Python API的连接与配置、外部Python编译器的使用、Python命令流自动建模过程、Python远程脚本读取输出结果等,其中的Python建模模块尽可能做到让学员零基础开始,通过提供标准命令流库,使用搭积木、摆乐高的形式模块化进行,加强学员的易上手、可操作性。(2)钻孔的建立、土层的建立、土层属性、水力条件及初始条件、导入土层。

CCfz566的博客 1463

ConvLSTM时空预测实战代码详解

ConvLSTM代码复现

JaysonWong的博客 1万+

网页版扇贝单词(今日复习,在学单词,未学单词)网页爬取javascript代码

网页版扇贝单词(今日复习,在学单词,未学单词)网页爬取javascript代码

baidu_40601892的博客 2598

SpringBoot如何正确连接SqlServer(亲测可用)

对于SpringBoot连接SqlServer的方式和常见的错误的汇总。1、驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接。2、com.microsoft.sqlserver.jdbc.SQLServerException: 对象名 ‘DUAL‘ 无效。

黄团团的个人博客 2万+

在扇贝爬Python的单词

from urllib import request,parse from lxml import etree def sbei(n): url = “https://www.shanbay.com/wordlist/189943/551617/?page=%s”%n a = request.urlopen(url) b = a.read() html = etree.HTML(b) c = ht...

Billchen1991 1135

03. 线性规划与混合整数规划 (LP/MIP)

本文介绍了OR-Tools中的线性规划(LP)和混合整数规划(MIP)求解器。主要内容包括:1) LP/MIP的基本概念和数学形式,对比了LP、MIP、ILP和BIP的区别;2) OR-Tools支持的求解器类型,如GLOP、SCIP等,以及它们各自的特点和适用场景;3) 详细展示了如何使用GLOP求解器进行线性规划求解,包括变量定义、约束添加和目标函数设置;4) 介绍了SCIP求解器的配置和使用方法;5) 讨论了变量类型、约束类型、多目标优化等进阶功能。文章通过Java代码示例演示了如何实现一个完整的优化

智慧是做事用的 156

27、物联网中的量子密钥分发:安全通信新范式

本文探讨了物联网(IoT)快速发展所带来的安全挑战,并提出量子密钥分发(QKD)作为应对新兴威胁的新范式。文章详细介绍了QKD的基础原理、BB84协议的实现流程以及其在物联网中的应用前景,同时强调了安全专业人员提升技能、制定标准化指南以及跨学科合作的重要性。通过利用量子力学特性,QKD能够提供更高的通信安全性,抵御量子计算等未来威胁,为物联网的安全发展提供保障。

tequila的博客 155

python英文字典小程序_python英语单词测试小程序

博主爬取了扇贝英语网,并制作了一个英语单词测试的小程序,还能生成错词本,一起来看下代码吧~import requests#扇贝网爬虫,获取英语单词category_res=requests.get(‘https://www.shanbay.com/api/v1/vocabtest/category/?_=1566889802182‘)category_json=category_res.json(...

weixin_39876595的博客 332

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

python实现单词的简单爬取

本文记录了python实现iciba单词的简单爬取

qq_44614115的博客 3332

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

python爬虫的第二次(知乎pyhton英文单词爬取)

python爬虫的第二次(知乎pyhton英文单词爬取) 爬取某个帖子的python相关的英文单词,以过滤中文,方便导入墨墨词本,但是还有些带()注释的暂不知道怎么去除,先写出来,后续处理,附code import requests from bs4 import BeautifulSoup # 服务器反爬虫机制会判断客户端请求头中的User-Agent是否来源于真实浏览器,所以,我们使用Requests经常会指定UA伪装成浏览器发起请求 headers = {'user-agent': 'M.

凡心所向,素履以往,生如逆旅,一苇以航 546

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

导出墨墨背单词的词书

金山词霸有一个本地导入词书的功能,但是需要txt文件格式,我找遍全网找不到红宝书的txt格式词库。红宝书的音频很难用,金山词霸的查词我很喜欢,于是我就想着能不能用金山词霸读红宝书的词。但是墨墨上有红宝书的词书,我就想着能不能先从墨墨上导出,再导入金山词霸。用红宝书背单词听音频很麻烦,就想着找个软件能一点单词就能出读音。原理就是从墨墨APP上找到红宝书数据库,然后检索再导出。我最终实现了这一操作。

2301_79629274的博客 2557

使用Python批量抓取单词发音

备注:今年1月份写的文章,以后准备长期驻扎在这儿,就贴过来了。 1.12号晚上总算彻底的考完了所有的科目,昨天可以睡一个安稳的懒觉了。从床上爬起来之后,随便从书架上拿了一本书,竟然是《备战大学德语四级考试·词汇篇》,不觉想起当初“战绩辉煌”的德语课。翻开书,看了几个单词后,发现都忘记了该怎么发音,所以想把每个单词的发音放到P3里,等睡不着的时候可以听一听~。...

weixin_33939380的博客 1061

python读音有道-[Python]通过有道词典API获取单词发音MP3

原创文章文章目录@[toc]1. 原因2. 有道发音API介绍3.代码及其解释4. Next ...Python通过有道词典API获取单词发音MP31. 原因最近打算重新开始好好学英语,那当然从单词开始了。我最近好好研究了一下所谓的记忆神器Anki,然后自己做卡片(主要是用欧路词典的生词本功能记录生词,然后将网页版的欧陆词典的生词复制下来,自己写个Python脚本将其处理成Anki导入的文本,然后...

q6q6q的专栏 1840

扇贝python_【扇贝批量添加单词到词库】利用python调用扇贝API (oauth2)

扇贝还是很不错的背单词系统,但是我一直不理解为什么官方提供的批量添加单词页面每次限制10个= =。 美剧党随手挤了很多单词准备导入的时候,还有从有道单词本导入的时候,都很尴尬。。查了一下,还没有人写过这方面的东西,所以尝试着用python写了个。下载地址:http://pan.baidu.com/s/1bn93yftgithub:https://github.com/yuchenlin/shanb...

weixin_39624873的博客 545

收集可用的关于英语单词api

1. 习惯说明:所有api中,除部分特别说明,? 直接替换为单词2. 有道词典单词发音:http://dict.youdao.com/dictvoice?audio=?3. 有道词典获取释义(支持单词和句子翻译):http://fanyi.youdao.com/openapi.do?keyfrom=appname&key=key&type=data&doctype=json&version=1.2&

blurooo的博客 2万+

想增加你的词汇量吗?---教你如何爬取某贝单词

一文教你如何爬取扇贝单词目录推荐一、网页分析二、代码实现三、运行结果无意之中打开了扇贝Python必背词汇的网址。那么既然打开了。那么就尝试爬取一下这个网页!扇贝Python必背词汇网址...

公众号:Python研究者 486

Python爬虫-爬取扇贝单词(Xpath)

爬取扇贝单词 ====================== ================================================================================== <tr> <td> </td> <td> </td> </tr> ...

weixin_33859665的博客 664
上一篇: python爬虫--爬取-糗事百科
下一篇: 正则表达式常见的元字符
Mis相遇
博客等级 码龄8年 87粉丝 90原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值