要获取的内容如下:

'''使用python获取慧聪企业联系方式作者:菜鸟虫师Mac时间:2020.7.24'''import requestsimport jsonfrom lxml import etreeTARGET = 'https://s.hc360.com/company/search.html?'HEADERS = {    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Firefox/78.0',}# 要post的参数DATA = {    'kwd': None,    'pnum': None,}# 向首页发起请求,获取企业信息页面的urldef get_index_url():    # 首页的请求方式是post    res = requests.post(url=TARGET, headers=HEADERS, params=DATA)    html = etree.HTML(res.content.decode())    # 获取企业信息的url(如图1)    get_contacts_urls = list(html.xpath('//a[@]/@href'))    # 要在每个href前面加上'https:'才能成为一个真正的url,进行下一步的访问    get_contacts_urls = map(lambda x: 'https:' + x, get_contacts_urls)    return (list(get_contacts_urls))# 向企业信息页面的url发起请求,获取企业信息def get_cpns_infos(url):    res = requests.get(url=url, headers=HEADERS)    html = etree.HTML(res.text)    # 企业的联系信息都在这个
下的内 # cpns_infos = html.xpath('//div[@]//ul/li') cpns_infos = html.xpath('//div[@]//ul') # 字典:存放企业联系信息 cpns_datas = {} for cpns_info in cpns_infos: cpns_datas['公司名称'] = cpns_info.xpath('//div[@]/text()')[0] # 联系人姓名 contacts = cpns_info.xpath('//div[@]/span/a/text()')[0] # 职位 position = cpns_info.xpath('//div[@]/span/text()')[0] # 联系人姓名+职位(去掉\xa0\xa0) cpns_datas['联系人'] = "".join((contacts + position).split()) # QQ QQ = cpns_info.xpath('//a[@]/text()') # 有QQ,则去掉本身的QQ:以及括号 if QQ: qq = QQ[0].strip("( QQ:)") cpns_datas['QQ'] = qq # 没有QQ,则显示'没有QQ' else: cpns_datas['QQ'] = '没有QQ' cpns_datas['公司电话'] = cpns_info.xpath('//div[@node-name="telephone"]/text()') cpns_datas['手机号码'] = cpns_info.xpath('//div[@node-name="mp"]/text()') cpns_datas['其他电话'] = cpns_info.xpath('//div[@node-name="otherTelephone"]/text()') cpns_datas['官网'] = cpns_info.xpath( '//div[@]/a[contains(@onmousedown,"contact_detail_homepage")]/text()')[0].strip( "\r\n\t\t").replace(" ", "") # 地址(在最后一个的div内) cpns_datas['地址'] = cpns_info.xpath('//li[last()]/div[@]/text()')[0] # 转化为json格式,以便保存 cpns_datas_json = json.dumps(cpns_datas, ensure_ascii=False) # 将信息保存到JSON文件中 save_infos(cpns_datas_json)# 保存信息def save_infos(data): with open('HuiCong.json', 'a') as f: f.write(data) print("OK!")# 逻辑函数def main(): # 要获取的城市 DATA['kwd'] = '广州' # 前N页的内容 for i in range(3): DATA['pnum'] = (i + 1) urls = get_index_url() for url in urls: get_cpns_infos(url)if __name__ == '__main__': main()

图1如下:

获取到的内容如下:

map语法获取index_python获取慧聪企业信息相关推荐

  1. Python爬虫获取企查查公开的企业信息

    1.参考博文 https://blog.csdn.net/qq_39295735/article/details/84504848?utm_medium=distribute.pc_relevant. ...

  2. 【mysql数据库】通过python 3.7 爬虫获取企查查公开的企业信息,并记录到数据库

    1.爬虫的思路参考这篇博文 https://mp.csdn.net/postedit/83628587 2.数据库保存截图如下 3.python代码如下 #!/usr/bin/python3 #-*- ...

  3. 爬虫-获取指定城市所有企业信息

    之前写过一个博客:python爬虫从企查查获取企业信息-手工绕开企查查的登录验证 https://blog.csdn.net/rock4you/article/details/88254612 但只能 ...

  4. BeautifulSoup解析库select方法实例——获取企业信息

    本文内容由浙江浦江中学方春林老师提供. Requests 是用Python语言编写,基于urllib,采用Apache2 Licensed 开源协议的 HTTP 库.它比 urllib 更加方便,可以 ...

  5. 企业网络推广时网站获取排名离不开企业网络推广文章内容的更新

    搜索引擎在抓取网站排名时,网站内容价值性的体现瞬间放大,与此同时,网站内容更新频率也是不容小觑的.对于企业网站运营优化期间,不同类型的企业网站可以选择不同的内容更新频率,那么怎样针对企业网站制定合理的 ...

  6. 【Groovy】map 集合 ( 根据 Key 获取 map 集合中对应的值 | map.Key 方式 | map.‘Key’ 方式 | map[‘Key’] 方式 | 代码示例 )

    文章目录 一.根据 Key 获取 map 集合中对应的值 1.通过 map.Key 方式获取 map 集合中的值 Value 2.通过 map.'Key' 方式获取 map 集合中的值 Value 3 ...

  7. python爬虫从企查查获取企业信息-手工绕开企查查的登录验证

    想要从企查查爬取企业信息,如果没有登录直接检索,邮箱.电话都被隐藏了: 上面的图片是之前截的图,今天再次检索,好像又可见了: 不过单击查看详情时,还是会被隐藏: 不管怎么说,只要企查查想限制登录,总会 ...

  8. React map遍历点击获取key

    React map遍历点击获取key值 在使用react的时候不免需要遍历循环出dom,这时候可以通过点击过去产生的的每个dom的标识来操作 首先准备一个需要遍历循环的集合,可以是键值对,也可以是数组 ...

  9. 函数语法:JS获取浏览器窗口大小 获取屏幕,浏览器,网页高度宽度(转载)...

    网页可见区域宽:document.body.clientWidth 网页可见区域高:document.body.clientHeight 网页可见区域宽:document.body.offsetWid ...

最新文章

  1. mysql的聚合函数综合案例_MySQL常用聚合函数详解
  2. 全息归约,全息算法。
  3. Windows Server 2012R2 WDS部署Windows 7
  4. 不想当亿万富翁的程序员不是好老板
  5. boost / vs2017 编译 boost 1.68.0 的过程说明
  6. Jib –为Spring Boot应用程序构建docker映像
  7. stm32+lwip(四):网页服务器测试
  8. IntelliJ IDEA 2017.3-2018.1 全系列汉化包
  9. 摄影专业学生,没有摄影棚,怎么练摄影?
  10. python 会计师事务所_Selenium爬取会计师事务所新闻信息——以中准会计师事务所为例...
  11. 深度有趣 | 29 方言种类分类
  12. Linux应用总结:自动删除n天前日志
  13. wireshark常用选项与功能总结【10分钟成为抓包大师】
  14. 关于正则表达式的学习
  15. ins服务器未响应,Ins注册及登陆问题简明教程
  16. 著名球星罗纳尔迪尼奥担任巴西旅游大使
  17. 当复制Web浏览器的SVN地址到TorioseSVN上时显示错误,无法解析URL
  18. 【创作赢红包】如何提高写作水平?让写作成为你的强项。
  19. JAVA听力源码,【VOA英语听力】Remembering 2001: A Space Odyssey 50 Years Later
  20. 电子称DIY(贴应变片+写代码)

热门文章

  1. wampserver 调试 php,phpstrom+wampserver+xdebug配置
  2. cent os mysql 内存_Cent OS – MySQL – 主从配置
  3. 查询中where和having的区别
  4. hadooppythonsql_实例讲解hadoop中的hive查询(python语言实现)
  5. 基于JAVA+SpringMVC+Mybatis+MYSQL的高校社团管理系统
  6. ilm 和dlm差异_Oracle 的信息生命周期管理工具(ILM assistant)
  7. Linux之iptables(六、rich规则)
  8. 究竟 javascript 错误处理有哪些类型?
  9. springboot情操陶冶-@SpringBootApplication注解解析
  10. 解决MySQL在修改列时因为外键依赖出错的问题