当前位置: 首页 > news >正文

百度商桥在网站做企业官网哪家公司好

百度商桥在网站,做企业官网哪家公司好,做外贸到那个网站,使用element做的网站分析一下他们的代码#xff0c;我在浏览器中对应位置右键#xff0c;然后点击检查元素#xff0c;可以找到对应部分的代码。但是#xff0c;直接查看当前网页的源码发现#xff0c;里面并没有对应的代码。我猜测这里是根据服务器上的数据动态生成的这部分代码#xff0c;…分析一下他们的代码我在浏览器中对应位置右键然后点击检查元素可以找到对应部分的代码。但是直接查看当前网页的源码发现里面并没有对应的代码。我猜测这里是根据服务器上的数据动态生成的这部分代码所以我们需要找到数据文件以便向服务器申请得到这部分资源。在刚才查看元素的地方接着找数据文件在Network里面的文件中很顺利的就找到了并在报文中拿到了URL和请求方法。查看一下这个文件发现是JSON文件那样的话难度就又降低了因为Python中有json库解析json的能力很强。可以直接将json转换为字典和列表类型。在这里我简单介绍一下数据解析的过程吧。首先我将爬取到的json文本转换成某种数据类型具体由数据决定一般不是字典就是列表。查看类型发现是字典且字典中有三个key值而我们需要的key在一个叫data的key中。而data中的数据是一个学生信息的列表类型列表的每个元素都是一个字典包括学生姓名学号等信息。可以利用下标获取列表元素并用key值得到你想拿到的信息。比如利用Url得到网页链接。这时候我们爬取需要的信息的准备工作可以说是结束了我们拿到了数据的URL并且知道了数据类型和数据结构。于是我们只需要用requests库爬一下这个页面然后用json解析一下并且筛选有用的信息就好了。(没用到BeautifulSoup和re库有点小失落)接下来就是创建文件就没有什么难度了。只是在为每个学生创建文件的时候注意一下创建好以后及时的回到上层目录否则可能会让文件一层层的嵌套下去。代码#-*- coding:utf-8 -*-importrequestsimportjsonimportos#抓取页面url https://edu.cnblogs.com/Homework/GetAnswers?homeworkId2420_1542959851766try:r requests.get(url,timeout20)r.raise_for_status()r.encodingr.apparent_encodingexcept:print(网络异常或页面未找到请重试)#利用json拿到数据列表每个列表元素都是字典datas json.loads(r.text)[data]result #数据处理for data indatas:result str(data[StudentNo]),data[RealName],data[DateAdded].replace(T, ),data[Title],data[Url]\n#写入文件with open(hwlist.csv,w) as f:f.write(result)#创建文件夹hwFolderos.mkdir(hwFolder)os.chdir(hwFolder)#创建每个学生的作业文件for data indatas:#创建目录os.mkdir(str(data[StudentNo]))os.chdir(str(data[StudentNo]))#抓取页面try:webmsg requests.get(data[Url],timeout20)webmsg.raise_for_status()webmsg.encodingwebmsg.apparent_encodingexcept:print(网络异常或页面未找到请重试)#保存抓到的页面with open(str(data[StudentNo]).html,wb) as f:f.write(webmsg.content)os.chdir(os.path.pardir)部分结果展示上图是hwlist.csv文件的部分结果(Excel下打开)玩个稍复杂点的像之前那样爬取页面的话其实是有点问题的。首先我们只是爬取了页面的内容但是并没有抓取到页面的样式页面显示会不太正常排版混乱。其次页面中还有图片等元素都不会显示出来。而且如果遇到网络问题代码需要再次运行的时候还会遇到一个问题那就是目录已经存在了我们在创建目录就会失败。除此之外还是有不少问题的此处我先解决之前说到的几个问题。即显示问题和目录问题。如何解决我提到的这些问题呢目录问题我使用了一种比较容易实现的方案那就是先判断当前目录是否存在如果不存在就创建目录否则就什么都不做。至于文件暂定的方法是直接覆盖。显示问题也比较好解决抓取网页和抓取样式或者网页其实都一样就是用URL发送一个请求来获得这个资源其实和抓取HTML相比就是文件格式不太一致。以抓取样式表(CSS)为例样式的URL怎么获取呢有一些样式是在一个叫做Link的标签的href属性里这里面就是外联样式存储的位置。把它提取出来请求这个样式并且修改原来的href属性为抓到的文件在自己电脑上的保存位置即可。这样的话即可保证抓到的CSS可以正常使用确保排版正确。当然了即使这样和原本的网页也是有差别的因为抓取到的资源还是不够和浏览器中获得的元素对比一下就会发现还差不少。鉴于本人能力有限这里就补充一下爬取外联CSS和图片的内容感兴趣的可以看一看。Tips这里解析HTML页面借助了强大的BeautifulSoup4库(解析标签和玩一样)和re库使工作量减少了不少。(安装bs4库: pip install BeautifulSoup4)#-*- coding:utf-8 -*-importrequestsimportjsonimportosimportrefrom bs4 importBeautifulSoupdef getHtml(url,timeout110):try:resrequests.get(url,timeout)res.raise_for_status()res.encodingres.apparent_encodingreturnresexcept:print(网络异常,url爬取失败)def saveFile(name,content,modew):try:with open(name,mode) as f:f.write(content)except:print(文件name创建失败)defgetSource(text):#抓取样式root_url https://www.cnblogs.comsoup BeautifulSoup(text,html.parser)for i in soup(link):css_list [css for css in i[href].split(/) if css incss]if css_list![]:filename re.search(r.*css,css_list[0]).group(0)r requests.get(root_urli[href])saveFile(filename,r.content,wb)text text.replace(i[href],Source/filename)#抓取图片 用户自己插入的图片和网站自己生成的图片都抓#用户自己插的那些格式很乱……用户自己搞的东西就是个坑for i in soup(img):try:img_list [img for img in i[src].split(/) if gif in img or png in img or jpeg inimg]except KeyError :#某用户自己改了HTML代码 得让我单独判断一下img_list []if img_list![]:filenameimg_list[0]try:r requests.get(root_urli[src])r.raise_for_status()except:if not http in i[src]:r requests.get(https:i[src])else:#又是某用户写博客用了HTML编辑器写的还不对r requests.get(i[src])saveFile(filename,r.content,wb)text text.replace(i[src],Source/filename)#text用于修改原始的页面链接保证本地可以正常查看页面returntext#############################主程序#############################抓取页面 并得到数据r getHtml(https://edu.cnblogs.com/Homework/GetAnswers?homeworkId2420_1542959851766)datas json.loads(r.text)[data]#处理数据并将数据写入文件result for data indatas:result str(data[StudentNo]),data[RealName],data[DateAdded].replace(T, ),data[Title],data[Url]\nsaveFile(hwlist.csv,result,w)#创建文件夹hwFolderif not os.path.exists(hwFolder):os.mkdir(hwFolder)os.chdir(hwFolder)#创建每个学生的作业文件for data indatas:#创建目录if not os.path.exists(str(data[StudentNo])):os.mkdir(str(data[StudentNo]))os.chdir(str(data[StudentNo]))#抓取页面webmsg requests.get(data[Url])print(当前的URLdata[Url])#等待的过程有字出来不会无聊#页面的一些资源if not os.path.exists(Source):os.mkdir(Source)os.chdir(Source)webtextgetSource(webmsg.text)os.chdir(os.path.pardir)saveFile(str(data[StudentNo]).html,webtext.encode(),wb)os.chdir(os.path.pardir)如果你的网络没问题讲道理应该不会抛异常。接下来找个页面看看效果吧排版抓出来了挺炫的当然图片也抓了。考虑到有人会HTML我把被程序调整后的HTML代码找一个给大家看看箭头指向的地方都是程序自己改过的地方其实虽然现在又和原页面接近了不少但是……我暂时没有时间继续完善了以后还会继续完善。给大家一个原博客的图片你会我先我还是少了些东西。暂时先这样吧。
http://wiki.neutronadmin.com/news/348197/

相关文章:

  • 全市网站建设情况摸底调查seo页面优化公司
  • 扬州鼎盛开发建设有限公司网站wordpress侧边栏模块
  • 分享网站对联广告滕州市做网站
  • 中山皇冠建设开发有限公司网站电商网站开发书籍
  • 网站设计的含义wordpress评论框第三方
  • 网站建设合同制网站目录做外链
  • 建设网站企业登录上海青浦网站建设
  • 废品回收在哪个网站做效果好wordpress 8.0
  • 广州专业网站制作中国医疗器械网官网
  • 网站重新备案怎么做化妆品品牌策划方案
  • 阳江网络12345问政平台网站建设 小影seo
  • 公司电商网站开发合同范本接设计私单的平台
  • 漳州违法建设举报网站WordPress 文章编辑
  • 网站设计预算淘宝官网电脑版
  • 省博物馆网站建设html5网站编写
  • 潍坊大型网站建设平台网站建设挣钱么
  • 楚雄网站建设app设计策划书
  • 9夜夜做新郎网站车网站建设策划书
  • 专门做情侣装的网站网站改版建设方案
  • qq是谁开发的常州百度搜索优化
  • 做阿里巴巴网站装修要多久网站开发全程设计
  • 贵州icp网站备案中心网站刷收益是怎么做的
  • 网站后台可视化编辑青岛做网站的有哪些
  • 扫描购物网站建设山东建设厅网站专职安全员
  • 公司是做网站建设的怎么开票有网站做淘宝客
  • 石家庄网站制作软件绍兴易网网站开发
  • app制作软件官网绵阳做网站优化
  • 优秀的设计网站做外贸网站租什么服务器
  • 自己架设网站贵州app开发公司
  • 国外 设计师 网站wordpress wp-pic主题