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. 完全分布式安装hadoop

    以三个节点为例的服务器集群来安装和配置hadoop 以下是各服务器ip地址和对应所做的节点 192.168.61.128 master 192.168.61.129 slave1 192.168.61 ...

  2. 【共享单车】—— React后台管理系统开发手记:UI菜单各个组件使用(Andt UI组件)

    前言:以下内容基于React全家桶+AntD实战课程的学习实践过程记录.最终成果github地址:https://github.com/66Web/react-antd-manager,欢迎star. ...

  3. 前端存储之Web Sql Database

    前言 在上一篇前端存储之indexedDB中说到,我们项目组要搞一个前后端分离的项目,要求在前端实现存储,我们首先找到了indexedDB,而我们研究了一段时间的indexedDB后,发现它并不是很适 ...

  4. NeatBean下ssh 私钥格式问题

    1. SecureCRT 生成的private key 的格式是其私有的格式, 2. 标准格式为 openssl 格式

  5. [Functional Programming] Define Discrete State Transitions using the State ADT

    We build our first state transactions as two discrete transactions, each working on a specific porti ...

  6. PS如何拉倒影效果

    1 复制图形(一般是文字)并垂直翻转得到倒影的初步样子(最好倾斜一下,看起来逼真一些)就像下面的迅雷的样子.记住要栅格化文字. 2 用魔棒工具抠除原来的颜色,只剩下空的选区.   3 拉渐变

  7. JSP 基于Oracle分页

    booklist.jsp <%@page import="books.accp.utils.Pager"%> <%@page import="books ...

  8. windows新建或者重命名文件及目录必须手动刷新才干显示出来问题解决方法

     首先推断注冊表中HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Update\UpdateMode值是否为0,该值若为1表示手工刷新, 该 ...

  9. JavaScript实现深拷贝(深复制) 面试题

    1.两种方法实现深拷贝(深复制) (1)方法一:兼容性好,请仔细看代码(网上大部分代码有Bug) (2)方法二:需要对象满足JSON数据格式.JOSN数据格式:http://www.cnblogs.c ...

  10. 升级滑动销毁activity,随着手势的滑动而滑动的效果

    文章开头先注明本滑动销毁是对 http://blog.csdn.net/xiaanming/article/details/20934541 这篇博客的内容进行一个小小的改动 添加向左滑动打开另外一个 ...