python3爬虫爬取英语单词到MySQL数据库

本文是作者初次尝试Python爬虫的实践记录,使用requests和BeautifulSoup库抓取iciba.com上的单词、发音及中文释义。通过双重循环遍历所有课程页面,解析所需信息,并将数据存入MySQL数据库中,为初学者提供了一个简单的爬虫示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言:我的第一篇博客,本人大一菜鸟一枚,第一次写python的项目,需要大量的数据,第一次接触爬虫这个东西,感觉十分有趣,想以后往这方面发展,特写下自己的爬虫学习经历,希望把自己的学习经历分享给初学者们,也希望各位大佬帮助指正。声明:没有使用多线程,没有使用代理IP,没有使用框架,最简单的一个爬虫爬到死

python版本:python3.6

使用requests库爬取,使用beautifulsoup库解析(使用了一点点正则表达式)

爬取的网页:http://word.iciba.com/


爬取目标:网站上所有的单词,单词的发音,单词的中文意思

首先分析网页找到我们要爬取的超链接:


经过我们分析后发现:





所有超链接只是后面的“classid=”这个东西在变,所以第一步找出所有的“classid”的数值:

def get_url(html):#解析首页得到所有的网址
    word_all = []#所有classid可能取值的列表
    mess = BeautifulSoup(html,'lxml')
    word_num = mess.select('.main_l li')
    for word in word_num:
        word_all.append(word.get('class_id'))
    return word_all

但我们发现单词并不在这一层,而在更里面一层


通过观察我们发现他只不过是在网址后面里加入了“course=”,进一步分析发现有多少课时course的数值就是1到~,所以我们按照上述方法得到course的所有取值

    for num in word_all:#word_all为classid所有可能的取值
        url_home = 'http://word.iciba.com/?action=courses&classid=' + str(num)#利用字符串拼接起来,得到URL网址
        html = get_urlhtml(url_home)
        mess = BeautifulSoup(html, 'lxml')
        li = mess.select('ul li')#解析得到所有的课时,其中li的长度就是课时的数量

通过一个双重循环得到每一个存在单词的网页:

for num in word_all:#word_all为classid所有可能的取值
    url_home = 'http://w
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值