python爬虫

第一题

import re
str1 = '''柳宗元(773年—819年11月28日),字子厚,汉族,祖籍河东郡(今山西省运城市永济、芮城一带)人。
代表作有《溪居》《江雪》《渔翁》。
'''
result1 = re.findall("《\w+》",str1)
print(result1)

print("-----------------------------------------------------------------------------")
str2 = '''李艳的微信号是454456,手机号是13534556698。
王莹的微信号是7879756,手机号是13566666666。
刘强的微信号是34569875,手机号是18966677777。
孙小峰的微信号是6196,手机号是18988888888。
'''
result2 = re.findall("微信号是(\d+)",str2)
print(result2)
result3 = re.findall("手机号是(\d+)",str2)
print(result3)
result4 = re.findall("(\w+)的微信号是(\d+),手机号是(\d+)",str2)
print(result4)
print("-----------------------------------------------------------------------------")

str3 = '''2021年6月1日起,新修订的《中华人民共和国未成年人保护法》《中华人民共和国预 防未成年人犯罪法》(以下称“两法”)正式施行。
2021年10月23日,十三届全国人大常委会第三十一次会议表决通过了《中华人民共和国家庭教育促进法》。
2022年5月10日,庆祝中国共产主义青年团成立100周年大会在北京人民大会堂隆重举行。
2023年3月4日晚,感动中国2022年度获奖人物揭晓!他们是:钱七虎,邓小岚,杨宁,沈忠芳,徐淙祥,“银发知播”群体,徐梦桃,陈清泉,陆鸿,林占熺。在过去的极不平凡的2022年,他们或在危难中逆行,或在逆境中坚守,以凡人之力,书写中国人的年度精神史诗,感动了国人,震撼了世界。
'''
result5 = re.findall("\d+年\d+月\d+日",str3)
print(result5)
print("-----------------------------------------------------------------------------")

str4 = '''一氧化碳,一种碳氧化合物,通常状况下为是无色、无臭、无味的气体。物理性质上,一氧化碳的熔点为-205℃,沸点为-191.5℃,难溶于水。化学性质上,一氧化碳既有还原性,又有氧化性,能发生氧化反应(燃烧反应)、歧化反应等;同时具有毒性,较高浓度时能使人出现不同程度中毒症状,危害人体的脑、心、肝、肾、肺及其他组织,甚至电击样死亡,人吸入最低致死浓度为5000ppm(5分钟)。工业上,一氧化碳是一碳化学的基础,可由焦炭氧气法等方法制得,主要用于生产甲醇和光气以及有机合成等。'''
result6 = re.sub("一氧化碳","CO",str4)
print(result6)






第二题


import csv
from lxml import etree
import requests
headers = {"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36"}
url = '''https://www.80wx.org/top/lastupdate/1.html'''
html = requests.get(url=url).text
# print(html)
result = etree.HTML(html)
# print(result)
result1 = result.xpath('//div[@id="slist"]//div[@id="list_art_2013"]')
listwhole = []
for i in result1:
    title = i.xpath(".//div[@class='book_bg']/a/text()")[0]
    # print(title)
    author = i.xpath(".//span/a/text()")[0].strip()
    # print(author)
    size = i.xpath('.//span/text()[3]')[0].strip()
    print(size)
    download = i.xpath('.//span/text()[6]')[0].strip()
    print(download)
    listwhole.append([title,author,size,download])
print(listwhole)
with open("mydata.csv","w") as f:
    aa=csv.writer(f)
    aa.writerow(["小说名","作者","大小","总下载次数"])
    aa.writerows(listwhole)

第三题

from lxml import etree
import requests
import re
headers = {"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36"}
url = '''https://www.80wx.org/top/lastupdate/1.html'''
html = requests.get(url=url,headers=headers).text
result = etree.HTML(html)
result1 = result.xpath('//div[@id="slist"]//div[@id="list_art_2013"]')
listwhole = []
for i in result1:
    pic = i.xpath(".//a//img/@src")[0]
    author = i.xpath(".//span/a/text()")[0].strip()
    picture = requests.get(url=pic,headers=headers).content
    with open("{}.jpg".format(author),"wb") as f:
        f.write(picture)

第四题

import matplotlib.pyplot as plt
name = ["张三","李四","赵武","张丽","王鹏","孙丽丽"]
data = [98,60,74,85,30,10]
# 分离
explode = [0,0.1,0,0,0,0]
plt.rcParams['font.sans-serif']='KaiTi'
plt.pie(data,labels=name,shadow=True,explode=explode,autopct="%1.1f%%")
# labels 标签
# shadow 阴影
# explode 分离
# autopct 显示百分比

# 标题
plt.title("学生成绩")
# 颜色说明  图例
plt.legend(loc=(1.2,0.5))
plt.show()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值