大家好,关于python报修网站开发源码分享很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!
Xpath基本使用
1)安装方法
直接推荐方法:豆瓣源安装(其他安装方法自己可百度)
pipinstall-ihttps://pypi.douban.com/simple/lxml\n
数据库操作之Pymysql
1)安装方法
直接推荐方法:豆瓣源安装(其他安装方法自己可百度)
pipinstall-ihttps://pypi.douban.com/simple/pymysql\n
2)基本使用介绍
importpymysql\n”’\n更多Python学习资料以及源码教程资料,可以加群821460695免费获取\n”’\n使用cursor()方法获取操作游标\ncur=conn.cursor()\n提交会话\nconn.commit()\nrequests发送请求\nget_response=requests.get(branch_url)\n解析页面\na=etree.HTML(get_data)\nreturna\n发送请求,获取Xpath格式页面\nresponse_01=get_respones_data(mian_url)\n上一页\nbranch_url_1=response_01.xpath(“/html/body/div[2]/div/div/div/div[1]/ul/li/a/@href”)\n上一页\n”/html/body/div[2]/div/div/div/div[1]/ul/li[1]/a”\n”/html/body/div[2]/div/div/div/div[1]/ul/li[4]/a”\n”/html/body/div[2]/div/div/div/div[1]/ul/li[10]/a”\n合并所有类别\nbranch_url=branch_url_1+branch_url_2\n某个医疗商品类别url\nbranch_url_01=”http://www.med361.com/category/c-456-b0.html”\nXpath获取所有单个商品url\nurl_list=response_02.xpath(‘//*[@id=”ddbd”]/form/dl/dd[2]/a/@href’)\n某个医疗商品类别url\nbranch_url_01=”http://www.med361.com/category/c-456-b0.html”\nXpath获取所有单个商品url\nurl_list=response_02.xpath(‘//*[@id=”ddbd”]/form/dl/dd[2]/a/@href’)\n将翻页url处理成我们能直接访问的类型\nforiinrange(len(url_paging)):\nurl_paging[i]=mian_url+url_paging[i].replace(‘/..’,”)\n发送请求\nresponse_03=get_respones_data(branch_url_01)\n将商品url处理成我们能直接访问的类型\nforiinrange(len(url_list)):\nurl_list[i]=mian_url+url_list[i]\nprint(url_list)\n
到目前为止,这一部分我们也完成了。
4.访问单个商品页面,利用Xpath来获取商品名称和介绍图片url
(1)基础代码
url_one=”http://www.med361.com/product/p-4357.html”\nresponse_04=get_respones_data(url_one)\n2.图片介绍(Pictureintroduction)\npicture_i=response_04.xpath(‘//*[@id=”content”]/div/div[3]/div[2]/div/div/div[1]/div[2]/div/img/@src’)\n获取事先爬好、检测了的代理ip\nwithopen(“new_http.txt”,encoding=”utf-8″)asfile:\nt0=file.read()\ns0=t0.split(“,”)\ndefget_respones_data(branch_url):\nrequests发送请求\nget_response=requests.get(branch_url,proxies=proxies)\n解析页面\na=etree.HTML(get_data)\nreturna\n发送请求\nresponse_01=get_respones_data(mian_url)\n合并所有类别\nbranch_url=branch_url_1+branch_url_2\n所有类别\n商品介绍图片集\ncommodity_intr=[]\nforiinrange(len(branch_url)):Xpath获取所有单个商品url\nurl_list=response_02.xpath(‘//*[@id=”ddbd”]/form/dl/dd[2]/a/@href’)\n将翻页url处理成我们能直接访问的类型\nforjinrange(len(url_paging)):\nurl_paging[j]=mian_url+url_paging[j].replace(‘/..’,”)\n单个类别翻页\nforninrange(len(url_paging)):\ntime.sleep(1)\nXpath获取所有单个商品url\nurl_list=response_03.xpath(‘//*[@id=”ddbd”]/form/dl/dd[2]/a/@href’)\n获取了单个类别所有商品url\nforminrange(len(url_list_all)):\ntime.sleep(1)\nresponse_03=get_respones_data(url_list_all[m])\n获得商品名称\n2.图片介绍(Pictureintroduction)\npicture_i=response_03.xpath(‘//*[@id=”content”]/div/div[3]/div[2]/div/div/div[1]/div[2]/div/img/@src’)\nprint(picture_i)下载图片函数\n”’\nfolder_name:文件夹名称,按图片简介\npicture_address:一组图片的链接\n”’\ndefdownload_pictures(folder_name,picture_address):\n新建一个文件夹\nos.mkdir(os.path.join(r’G:\\Medical’,folder_name))\n下载文件(wb,以二进制格式写入)\nwithopen(r’G:\\Medical\\{0}\\0{1}.jpg’.format(folder_name,i+1),’wb’)asf:\ntime.sleep(1)\n数据库连接\nconn=pymysql.connect(host=”localhost”,port=3306,user=”你的数据库登录名”,\npassword=”你的数据库登录名”,charset=”utf8″,database=”你的数据库名称”)\ndefsql_insert(sql):\ncur=conn.cursor()\ncur.execute(sql)\nconn.commit()\n
把代码加到正确位置,并调用该函数。
(3)字段内容存储到csv文件
获取文件大小(先新建一个csv文件)\nfile_size=os.path.getsize(r’G:\\medical.csv’)\niffile_size==0:表头\nname=[‘名称简介’,’url_01′,’url_02′,’url_03′,’url_04′,’url_05′,’url_06′,’url_07′,’url_08′,’url_09′,’url_10′]\n数据写入\nfile_test.to_csv(r’G:\\medical.csv’,encoding=’utf-8′,index=False)\nelse:\nwithopen(r’G:\\medical.csv’,’a+’,newline=”)asfile_test:\n写入文件\nwriter.writerows(list_info)\n
把代码加到正确位置,并调用该函数。
(4)运行效果简单展示
关于python报修网站开发源码分享到此分享完毕,希望能帮助到您。
