上海网站建设公司推,php网站实例,淘宝网店托管,网站使用说明书模板正则表达式练习 工具目的代码运行结果 工具
pycharm
目的 https://www.77xsw.cc/fenlei/1_1/#xff1a;第一页的网址
https://www.77xsw.cc/fenlei/1_2/#xff1a;第二页的网址
...
https://www.77xsw.cc/fenlei/1_10/#xff1a;第十页的网址
代码
import requests
im… 正则表达式练习 工具目的代码运行结果 工具
pycharm
目的 https://www.77xsw.cc/fenlei/1_1/第一页的网址
https://www.77xsw.cc/fenlei/1_2/第二页的网址
...
https://www.77xsw.cc/fenlei/1_10/第十页的网址代码
import requests
import re
import jsonnovel_list []for i in range(1,11):# 请求网址url https://www.77xsw.cc/fenlei/1_ str(i) /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}# 发送请求response requests.get(url, headersheaders)# print(response.text)# 数据处理 确定正则表达式规则时看抓取到的没有美化的响应结果data response.text# 用中文不能匹配中文的标点符号# rule span classsp_2a href(.*?).*?title[\u4e00-\u9fa5]*([\u4e00-\u9fa5]*?)/a/spanspan classsp_3 # not# rule span classsp_2a href(.*?).*?title.*?(.*?)/a/spanspan classsp_3 # okrule span classsp_2a href(.*?).*?(.*?)/a/spanspan classsp_3result re.findall(rule,data) # 返回值为多个匹配结果组成的列表for novel in result:novel_list.extend(result)# print(novel_list)
novel_tuple tuple(novel_list) # 去重
novel_dict dict([i[1], i[0]] for i in novel_tuple) # 转为字典
print(novel_dict,len(novel_dict)) # 一页40个10页应该有400个结果为397个含有重复的
# 保存数据 json格式
with open(novel.json, w, encodingutf8) as f:json.dump(novel_dict,f,indent2,ensure_asciiFalse)运行结果
见资源