from bs4 import BeautifulSoup
import os
filepath = 'D:\\pymine\\clean\\spider_map\\baidu_map_html_firstpage_pc_test\\'
pathDir = os.listdir(filepath)
name_poi_dic = {}
need_todo_request = ['搜索结果']
no_list = ['全国范围内未找到相关地点', '共找到0个搜索结果']
bd_no_this_name_str = '百度对此条无结果'
#未找到结果,为您提供"大兴店"的搜索结果
for allDir in pathDir:
child = os.path.join('%s%s' % (filepath, allDir))
if child.find('&')>-1 or child.find('170')>-1:
os.remove(child)
requested_file = child.split('baidu_map_html_firstpage_pc')[1].split('&')[0].split('.html')[0].replace('\\', '')
name_poi_dic[requested_file] = {}
name_poi_dic[requested_file]['poi_list'] = []
mybytes = open(child, 'r', encoding='utf-8')
soup = BeautifulSoup(mybytes, "lxml")
soup_text = soup.text if soup_text.find('全国范围内未找到') > -1:
name_poi_dic[requested_file]['poi_list'].append(bd_no_this_name_str)
elif soup_text.find('商户免费标注') > -1:
name_l, addr_l = soup.find_all(class_='n-blue'), soup.find_all(class_='n-grey')
len_, len_addr = len(name_l), len(addr_l)
for index_ in range(0, len_, 1):
dic_ = {}
if index_ < len_addr:
dic_['name'], dic_['addr'] = name_l[index_].text, addr_l[index_].text
else:
dic_['name'], dic_['addr'] = name_l[index_].text, '百度此处无地址'
name_poi_dic[requested_file]['poi_list'].append(dic_)
elif soup_text.find('m.hao123.com') > -1:
name_l, addr_l = soup.find_all(class_='text-ellipsis -ft-primary -ft-large'), soup.find_all(
class_='dis-inf text-ellipsis -col-auto')
# len_ =min(len(name_l),len(addr_l))
len_, len_addr = len(name_l), len(addr_l)
for index_ in range(0, len_, 1):
dic_ = {}
if index_ < len_addr:
dic_['name'], dic_['addr'] = name_l[index_].text.split('.')[1], addr_l[index_].text
else:
dic_['name'], dic_['addr'] = name_l[index_].text.split('.')[1], '百度此处无地址'
name_poi_dic[requested_file]['poi_list'].append(dic_)
elif soup_text.find('地址:') > -1:
dic_ = {}
dic_['name'], dic_['addr'] = soup.find_all('td').text.split('地址:')
name_poi_dic[requested_file]['poi_list'].append(dic_)
else:
mybytes.close()
os.remove(child)
print('TODO', requested_file)

  

effect request的更多相关文章

  1. laravel数据库查询是use方法的使用

    ){                return $query->where('effectivetime','<',date('Y-m-d'));             }else{ ...

  2. casbin-权限管理

    概要 权限管理几乎是每个系统或者服务都会直接或者间接涉及的部分. 权限管理保障了资源(大部分时候就是数据)的安全, 权限管理一般都是和业务强关联, 每当有新的业务或者业务变化时, 不能将精力完全放在业 ...

  3. Casbin权限模型

    权限框架casbin1.概述Casbin是一个强大的.高效的开源访问控制框架,其权限管理机制支持多种访问控制模型. Casbin支持以下编程语言: Casbin可以做到:支持自定义请求的格式,默认的请 ...

  4. Casbin 使用记录

    Casbin 是什么? 官方解释:Casbin是一个强大的.高效的开源访问控制框架,其权限管理机制支持多种访问控制模型. Casbin只负责访问控制.身份认证 authentication(即验证用户 ...

  5. 从别人的代码中学习golang系列--03

    这篇博客还是整理从https://github.com/LyricTian/gin-admin 这个项目中学习的golang相关知识. 作者在项目中使用了 github.com/casbin/casb ...

  6. gin框架中集成casbin-权限管理

    概念 权限管理几乎是每个系统或者服务都会直接或者间接涉及的部分. 权限管理保障了资源(大部分时候就是数据)的安全, 权限管理一般都是和业务强关联, 每当有新的业务或者业务变化时, 不能将精力完全放在业 ...

  7. Casbin + Gin + Gorm 学习探索

    Casbin 是一个强大的,开源的访问控制框架,权限管理机制支持多种访问控制模型: 并且支持多种编程语言: 文档地址:https://casbin.org/docs/zh-CN/overview Gi ...

  8. XACML-PolicySet与request结构简介

    本文由@呆代待殆原创,转载请注明出处. 一.PolicySet的结构 PolicySet 的基本嵌套结构如上图所示,下面让我们一个一个来说明. PolicySet:XACML策略架构的顶层元素,由Po ...

  9. How to use Request js (Node js Module) pools

    Can someone explain how to use the request.js pool hash? The github notes say this about pools: pool ...

随机推荐

  1. sass高级语法的补充

    1. 继承 2.混入 3.函数 我这篇博客需要点基础才能看懂, 但我这篇博客是对上一篇的 sass高级语法 的补充 从这方面来看也无所谓了

  2. linux文件测试操作

    1.文件测试操作 返回 true 如果... -e 文件存在 -a 文件存在 这个选项的效果与-e 相同.但是它已经被弃用了,并且不鼓励使用 -f file 是一个 regular 文件(不是目录或者 ...

  3. 安装openstack 时 遇见的一些问题及解决方法!

    感谢朋友支持本博客,欢迎共同探讨交流.因为能力和时间有限,错误之处在所难免.欢迎指正! 假设转载.请保留作者信息. 博客地址:http://blog.csdn.net/qq_21398167 原博文地 ...

  4. 使用thrift实现了Javaserver和nodejsclient之间的跨平台通信

    1. 简介 thrift是一个软件框架,用来进行可扩展且跨语言的服务的开发.它结合了功能强大的软件堆栈和代码生成引擎.以构建在 C++, Java, Python, PHP, Ruby, Erlang ...

  5. Linux组件封装(一)中互斥锁MutexLock的封装

    本文对Linux中的pthread_mutex_t做一个简易的封装. 互斥锁主要用于互斥,互斥是一种竞争关系,主要是某一个系统资源或一段代码,一次做多被一个线程访问. 条件变量主要用于同步,用于协调线 ...

  6. js 参数校验器

    //校验器 var validate = { //校验当前运行环境是否是手机端 isWap:function(){ var sUserAgent= navigator.userAgent.toLowe ...

  7. JDK与adb/android环境变量配置完整教程

    在这篇文章中.主要解决一个在Java或者Android开发中第一步须要解决的问题,那就是环境变量的配置.因为这部分在网上有非常多教程.參差不齐.我这里主要是对JDK与adb/android两者的环境变 ...

  8. c#通过URL地址从服务器上下载文件

  9. C#:异步编程和线程的使用(.NET 4.5 ),异步方法改为同步执行

    摘自:http://www.codeproject.com/Articles/996857/Asynchronous-programming-and-Threading-in-Csharp-N(葡萄城 ...

  10. javascript与as3交互

    文章都是发布在github再转到这边的,这边格式可能会乱掉.博客地址:benqy.com 写在前面的废话 公司首页的flash广告,都是由第三方制作的,脚本和flash文件都是由各个广告公司独立制作, ...