python url拼接_简单一文教你如何用python爬虫爬取扇贝单词

c65491b70566ddcca11e8423aa7d4f5e.png

现在的博主正在发呆,无意之中打开了扇贝Python必背词汇的网址。那么既然打开了,再加上博主挺无聊的。那么就尝试爬取一下这个网页!

d0de38f00d1c54c9ab04b15927b93f8f.png

扇贝Python必背词汇网址:https://www.shanbay.com/wordlist/110521/232414/

一、网页分析

我们打开此网站之后,通过以往爬取网页的经验,会发现此网页特别容易爬取。

55741d02d5442e27e8ab3332e27a570d.png


大概查看了网页,我们只需爬取单词和含义即可。首先我们先来查看网页源码

538e8de091d3a6360178b3d932fb79aa.png


下面分别把他们解析出来:

6763d7faf554dddeae043a934d62427a.png
3746036bb9c10537516d818020224e6e.png


,分析完毕后,我们就可以通过代码进行实现了。

    etree_obj = etree.HTML(html)    word_list = etree_obj.xpath('//strong/text()')    explain_list = etree_obj.xpath('//td[@class="span10"]/text()')    item_zip = zip(word_list,explain_list)    for item in item_zip:        items.append(item)

分析完内容,下面就开始分析分页。鉴于此URL只有三页URL,因此,博主就使用最简单的方式,把Url拼接出来

base_url = "https://www.shanbay.com/wordlist/110521/232414/?page={}"for i in range(1, 4):    url = base_url.format(i)    print(url)
e16ac9cb727bb3f20029303d582495ac.png
8f4f4876081f2fe4f1323525fd8175d4.png

二、代码实现

# encoding: utf-8'''  @author 李华鑫  @create 2020-10-08 8:10  Mycsdn:https://buwenbuhuo.blog.csdn.net/  @contact: 459804692@qq.com  @software: Pycharm  @file: 作业:爬扇贝Python必背词汇.py  @Version:1.0  '''import csvimport requestsfrom lxml import etree"""https://www.shanbay.com/wordlist/110521/232414/?page=1https://www.shanbay.com/wordlist/110521/232414/?page=2https://www.shanbay.com/wordlist/110521/232414/?page=3//strong                         # en//td[@class="span10"]            # cn"""base_url = "https://www.shanbay.com/wordlist/110521/232414/?page={}"headers={    'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36',}items =[]def parse_url(url):    """解析url,得到响应内容"""    response = requests.get(url=url,headers=headers)    return response.content.decode("utf-8")def parse_html(html):    """使用xpath解析html"""    etree_obj = etree.HTML(html)    word_list = etree_obj.xpath('//strong/text()')    explain_list = etree_obj.xpath('//td[@class="span10"]/text()')    item_zip = zip(word_list,explain_list)    for item in item_zip:        items.append(item)def svae():    """将数据保存到csv中"""    with open("./shanbei.csv", "a", encoding="utf-8") as file:       writer = csv.writer(file)       for item in items:            writer.writerow(item)def start():    """开始爬虫"""    for i in range(1, 4):        url = base_url.format(i)        html = parse_url(url)        parse_html(html)    svae()if __name__ == '__main__':    start()

三、运行结果

f4816d4b9dd3c5cfb40c520795ea1075.png

多说一句,很多人学Python过程中会遇到各种烦恼问题,没有人解答容易放弃。小编是一名python开发工程师,这里有我自己整理了一套最新的python系统学习教程,包括从基础的python脚本到web开发、爬虫、数据分析、数据可视化、机器学习等。想要这些资料的可以关注小编,并在后台私信小编:“01”即可领取。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值