爬虫之手机信息查询系统

编程入门 行业动态 更新时间:2024-10-21 23:09:06

<a href=https://www.elefans.com/category/jswz/34/1770264.html style=爬虫之手机信息查询系统"/>

爬虫之手机信息查询系统

效果图



代码仅供学习和参考

import requests
from bs4 import BeautifulSoup
import lxml
import re
phone_sum=0
p_ls = []
p_names = []
p_img_url = []
c_n=-1
headers = {"User - Agent": "Mozilla / 5.0(WindowsNT10.0;Win64;x64) AppleWebKit / 537.36(KHTML, likeGecko) Chrome / 107.0.0.0Safari / 537.36Edg / 107.0.148.26"}
def findnum(string):comp=repile("[1-9]\d*")list_str=comp.findall(string)list_num=[]for item in list_str:item=int(item)list_num.append(item)bg=["曝光"]if not list_num:return bgreturn list_numdef find_page(p_name):p_url = f"=1&s={p_name}"response = requests.get(url=p_url, headers=headers)response.encoding = 'gbk'soup = BeautifulSoup(response.text, 'lxml')p_other=soup.findAll('div',class_="pagebox mt20")ls_t=str(p_other)ls1 = ls_t.split("=")if(len(ls1)>10):for i in range(2):search(p_name,f"p={i+1}")else:search(p_name,"p=1")def search(p_name,p):p_url=f"=1&s={p_name}&{p}"response = requests.get(url=p_url, headers=headers)response.encoding = 'gbk'soup = BeautifulSoup(response.text, 'lxml')global p_ls,p_names,p_img_urlp_img_url_t = []p_imgs=soup.findAll('div',class_="search-img default-img")p_other=soup.findAll('div',class_="pagebox mt20")ls_t=str(p_other)ls1 = ls_t.split("=")for i in p_imgs:n=str(i)p_img_url_t.append(n.split("="))for i in range(len(p_img_url_t)):data=p_img_url_t[i][4].split("\"")[1]u=f"{data}"p_img_url.append(u)page_url = soup.select('.search-div1>a')for i in page_url:p_ls.append(f"https:"+i['href'])p_names.append(i.text)def find_information(i):infor_url=p_ls[i]response = requests.get(url=str(infor_url), headers=headers)response.encoding = 'gbk'soup = BeautifulSoup(response.text, 'lxml')infor_url_t = "https:" + soup.select('.cell-con-tit>a')[0]['href']return infor_url_tdef get_information(url):response = requests.get(url=url, headers=headers)response.encoding = 'gbk'soup = BeautifulSoup(response.text, 'lxml')price_ls = soup.select('.cell-price')[0].text.strip().split(":")[1]# color_ls=price=findnum(str(price_ls))color_ls = soup.select('.right>p')classify_t = soup.select('.cell-con-ul>ul>li>div>h3')classify = []for i in classify_t:dd = str(i)[4:-5]classify.append(dd)information_list = []for i in color_ls:information_list.append(i.text.strip())print("======================================以下为详情信息======================================")if price[0]=="曝光":print(f"\033[34m{p_names[c_n]}\033[0m\033[31m暂未上市\033[0m")else:print(f"\033[34m{p_names[c_n]}\033[0m的报价为:\033[31m{str(price[0])}人民币\033[0m")for i in range(len(classify)):print(f"\033[35m{classify[i]}\033[0m:{information_list[i]}")def chioce():global c_nfor i in range(len(p_ls)):print(f"\033[31m{i+1}.{p_names[i]}\033[0m,点击查看手机图片{p_img_url[i]}")if(len(p_ls)==0):print("\033[31m很抱歉,没有搜索到你所要的信息~.~\033[0m")returnelse:c_n = int(input(f"共找到\033[31m{len(p_ls)}\033[0m个信息,输入选择查看详细配置>>>")) - 1print(f"\033[31m原地址\033[0m\033[34m{p_ls[c_n]}\033[0m")infor_url=find_information(c_n)get_information(infor_url)def run():p_name = input("输入查询的手机>>>").strip()find_page(p_name)chioce()
if __name__=="__main__":while True:y_n=input("======================================\033[34m欢迎使用手机信息查询系统\033[0m======================================\n\033[33m任意键\033[0m开始查询,\033[31mn/N退出\033[0m>>>").strip()if y_n=='n' or y_n=="N":print("\033[31m感谢使用,By:Yesir\033[0m")breakelse:run()

更多推荐

爬虫之手机信息查询系统

本文发布于:2024-02-27 05:49:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1705411.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:爬虫   信息查询系统   手机

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!