admin 管理员组文章数量: 887021
建筑
一:网站结构
网站url:
1.公司种子url获取
公司的主页url
进到这个网站然后看到第一个公司内蒙古华诚商务有限责任公司
我从关注这哥网站开始首页好像从来没变过;不知道列表是根据什么来排序的。然后我们点进去这个公司看到它的url是
它由一个固定的前缀
(/)和公司ID(001607230057395100)构成。
所以我们只要拿到公司的ID号就等于拿到公司的主页url了。
怎么得到公司ID
-通过列表url来翻页
种子url打开得到的是一个建筑公司的列表,我们能得到列表里的公司ID;但是翻页的次数有限制最多有30页,然后发现列表上面还可以筛选条件。我试了通过 资质类别,包含资质名称, 企业注册属地 这3个条件跑了一遍跑出了40w多家公司id,我一排序去重只有10w。。。。我估计有很多公司都没给上这些标签!导致用这些标签筛选根本找不到!
-通过ID规律
通过上面那个方法排序得到的10w家公司的ID,我发现了规律。拿前面(001607230057395100)这个ID做例子 001607230057 这前面12位代表时间16年7月23日更新的,后面395100这六位表示从零开始的索引号。
规律是找到规律了但是要通过这个规律来获取所有公司ID还是有些困难。
我通过上面两种方法得到了33w家公司得名字以及公司ID。但是还是不全
-直接通过公司名发post请求
上面两个方法都有缺陷,最直接的方法是通过公司直接发送一个post请求得到公司ID;这个网站的搜索方式是模糊搜索。前提是你要知道这个公司的名字或简称!
2.拿到公司种子ID之后
ID与一级结点的关系
- 建筑企业基本信息buildingBasicInfo:(字典)
‘/’ + id - 企业资质资格信息buildingAptitude:(资质列表,较少)
“/” + id - 注册人员信息registeredPerson:(人员列表)
“/” + id
得到人员列表的首页,跟据index翻页拿到所有页人员的种子ID1。 - 工程项目信息buildingProject:(项目列表)
‘/’ + id
得到项目列表的首页,跟据index翻页拿到所有页项目的ID2。 - 不良行为信息buildingBadBehavior:(列表,较少)
“/” + id + ‘/0’
没有找到有多条不良信息的公司,不知道由多条不良信息的构成是怎么样的,所有目前不管有多少条不良信息暂时只能拿一条;想办法找到了再来改解析函数。 - 良好行为信息buildingGoodBehavior:
“/” + id + ‘/1’
没找到有此项的公司,此函数还没写。 - 变更记录信buildingChanges:
“/” + id
没找到有此项的公司,此函数还没写。 - 黑名单记录信息buildingBlackListRecord:(列表)
“/” + id
没有找到有多条黑名单记录的公司,不知道由多条黑名单记录的构成是怎么样的,所有目前不管有多少条不良信息暂时只能拿一条;想办法找到了再来改解析函数。
ID1与注册人员的结构####
- 注册人员基本信息rpBaseInfo与执业注册信息rpPraReg:(字典)
‘/’ + id1 - 个人工程业绩信息rpPerEngAch:(业绩列表,较少)
“/” + id1 - 个人不良行为信息rpBadBehavior:
‘/’ + id1 + ‘/0’
没有找到有多条不良信息的人,不知道由多条不良信息的构成是怎么样的,所有目前不管有多少条不良信息暂时只能拿一条;想办法找到了再来改解析函数。 - 个人良好行为信息rpGoodBehavior:
‘/’ + id1
没找到有此项的人员,此函数还没写。 - 个人黑名单记录信息rpBlackListRecord:
“/” + id1
没找到有此项的人员,此函数还没写。 - 个人变更记录信息rpChanges:(列表)
“/” + id1
ID2与工程项目的结构####
无关。。有点不一样,看下代码与网页结构就知道了。
二:算法策略
1.多线程控制:
线程池只能定义在主线程里面这样才能控制好线程的数量。
更好的办法:代理允许一秒钟访问30次,要是能控制每秒发30次请求就好了。
2.http请求写法:
跟据代理返回的情况,要保证请求函数不反悔None,又要保证快速
其他的可以看代码,不懂的问我。
项目地址:http://h126:11000/plugins/spider_construction_by_py.git
本文标签: 建筑
版权声明:本文标题:建筑 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1687364947h94266.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论