爬取网页数据python

一个网页数据的爬取
效果图如下
这里写图片描述

代码如下:

import csv, requests
from bs4 import BeautifulSoup
url = 'https://www.chunyuyisheng.com/pc/article/22127/'
html = requests.get(url).text
soup = BeautifulSoup(html, 'html.parser')
name = []
SimilarName=[]
qq=[]
Description=[]
all=[]
for x in soup.find_all('p'):
    c=x.get_text()
    qq.append(c)
    u1 =c.split(':')
a=12
name.append(qq[4][2:])
while a<70:
    name.append(qq[a][2:])
    a=a+7
name[-1]=name[-1][1:]
print(name)
b=14
SimilarName.append(qq[6][3:])
while b<71:
    SimilarName.append(qq[b][3:])
    b=b+7
print(SimilarName)
c=16
Description.append(qq[8])
while c<73:
    Description.append(qq[c])
    c=c+7
print(Description)
i=0
x=()
Description1=[]
Source=[]
Mean=[]
for z in Description:
    u2 = z.split('。')[1]
    Description1.append(u2)
for zz in Description:
    u3 = zz.split(',')[0]
    Source.append(u3)
for zzz in Description:
    u4 = zzz.split(',', 1)[1]
    u5 = u4.split('。')[0]
    Mean.append(u5)
while i<10:
    x=([name[i]]+[Source[i]]+[Mean[i]]+[Description1[i]])
    i=i+1
    print(x)
    all.append(x)
with open('E:\\textn.csv', 'w+',newline="") as f:
    writer = csv.writer(f)
    writer.writerow(['名字','起源',"含义",'描述'])
    for row in all:
        writer.writerow(row)

大家可以自己尝试修改。

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值