进都进来了,不顺手点赞评论么?

【原创】Python爬虫爬天眼查数据

Python Wangyeyu2015 7511℃ 441评论

这篇就不多说了,前几日搞了个爬企查查的,今日再搞一个天眼查的,希望诸位从这两份源码上学到一些东西。

运行如下:

爬到数据如下:

源码如下:

#-*- coding-8 -*-
import requests
import lxml
import sys
from bs4 import BeautifulSoup
import xlwt
import time
import urllib

def craw(url,key_word,x,new_num):
    User_Agent = 'Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:56.0) Gecko/20100101 Firefox/56.0'
    if x == 0:
        re = 'https://www.tianyancha.com/search?key='+key_word
    else:
        re = 'https://www.tianyancha.com/search/p{}?key={}'.format(x-1,key_word)
    headers = {
            'Host': 'www.tianyancha.com',
            'Connection': 'keep-alive',
            'Cache-Control': 'max-age=0',
            'Upgrade-Insecure-Requests': '1',
            'User-Agent': r'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36',
            'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8',
            'Referer': re,#'https://www.tianyancha.com/search?key=%E5%B1%B1%E4%B8%9C%20%E7%A7%91%E6%8A%80',
            'Accept-Encoding': 'gzip, deflate, br',
            'Accept-Language': 'zh-CN,zh;q=0.9',
            'Cookie': r'cookiecookiecookiecookiecookiecookiecookiecookiecookiecookiecookiecookiecookiecookiecookiecookiecookiecookiecookiecookiecookiecookiecookiecookiecookiecookiecookiecookiecookiecookiecookiecookiecookiecookiecookiecookiecookiecookiecookiecookie',
            }
    try:
        response = requests.get(url,headers = headers)
        if response.status_code != 200:
            response.encoding = 'utf-8'
            print(response.status_code)
            print('ERROR')
        soup = BeautifulSoup(response.text,'lxml')
    except Exception:
        print('请求都不让,这天眼查也搞事情吗???')
    try:
        com_all_info = soup.body.select('.mt74 .container.-top .container-left .search-block.header-block-container')[0]
        com_all_info_array = com_all_info.select('.search-item.sv-search-company')
        print('开始爬取数据,请勿打开excel')

    except Exception:
        print('好像被拒绝访问了呢...请稍后再试叭...')
    try:
        for i in range(new_num,len(com_all_info_array)):
            try:
                temp_g_name = com_all_info_array[i].select('.content .header .name')[0].text    #获取公司名
                temp_g_state = com_all_info_array[i].select('.content .header .tag-common.-normal-bg')[0].text  #获取公司状态
                temp_r_name = com_all_info_array[i].select('.content .legalPersonName.link-click')[0].text    #获取法人名
                temp_g_money = com_all_info_array[i].select('.content .info.row.text-ellipsis div')[1].text.strip('注册资本:')    #获取注册资本
                temp_g_date = com_all_info_array[i].select('.content .info.row.text-ellipsis div')[2].text.strip('成立日期:')    #获取公司注册时间
                try:
                    try:
                        temp_r_phone = com_all_info_array[i].select('.content .contact.row div script')[0].text.strip('[').strip(']')    #获取法人手机号
                    except Exception:
                        temp_r_phone = com_all_info_array[i].select('.content .contact.row div')[0].select('span span')[0].text    #获取法人手机号
                except Ellipsis:
                    temp_r_phone = '未找到法人手机号'
                try:
                    try:
                        temp_r_email = com_all_info_array[i].select('.content .contact.row div script')[1].text.strip('[').strip(']')    #获取法人Email
                    except Exception:
                        temp_r_email = com_all_info_array[i].select('.content .contact.row div')[1].select('span')[1].text    #获取法人Email
                except Exception:
                    temp_r_email = '未找到法人邮箱'
    #            temp_g_desc = com_all_info_array[i].select('.content .match.row.text-ellipsis')[0].text    #获取公司备注
    
                g_name_list.append(temp_g_name)
                g_state_list.append(temp_g_state)
                r_name_list.append(temp_r_name)
                g_money_list.append(temp_g_money)
                g_date_list.append(temp_g_date)
                r_phone_list.append(temp_r_phone)
                r_email_list.append(temp_r_email)
    #            g_desc_list.append(temp_g_desc)
            except Exception:
                print(temp_g_name+"-信息不完整,>>>>跳过>>下一个")
    except Exception:
        print("这页有毒,换下一页")

if __name__ == '__main__':
    global g_name_list
    global g_state_list
    global r_name_list
    global g_money_list
    global g_date_list
    global r_phone_list
    global r_email_list
#    global g_desc_list

    g_name_list=[]
    g_state_list=[]
    r_name_list=[]
    g_money_list=[]
    g_date_list=[]
    r_phone_list=[]
    r_email_list=[]
#    g_desc_list=[]


    key_word = input('请输入您想搜索的关键词:')
    try:
        new_num = int(input('请输入您想从第几页检索:'))-1
    except Exception:
        new_num = 0
    try:
        num = int(input('请输入您想检索的次数:'))+1
    except Exception:
        num = 6
    try:
        sleep_time = int(input('请输入每次检索延时的秒数:'))
    except Exception:
        sleep_time = 5

    key_word = urllib.parse.quote(key_word)

    print('正在搜索,请稍后')

    for x in range(1,num):
        url = r'https://www.tianyancha.com/search/p{}?key={}'.format(x,key_word)
#        print(r'https://www.tianyancha.com/search/p{}?key={}'.format(x,key_word))
#        url = r'https://www.tianyancha.com/search/p2?key=%E5%B1%B1%E4%B8%9C%20%E7%A7%91%E6%8A%80'
        s1 = craw(url,key_word,x,new_num)
        time.sleep(sleep_time)
    workbook = xlwt.Workbook()
    #创建sheet对象,新建sheet
    sheet1 = workbook.add_sheet('天眼查数据', cell_overwrite_ok=True)
    #---设置excel样式---
    #初始化样式
    style = xlwt.XFStyle()
    #创建字体样式
    font = xlwt.Font()
    font.name = '仿宋'
#    font.bold = True #加粗
    #设置字体
    style.font = font
    #使用样式写入数据
    print('正在存储数据,请勿打开excel')
    #向sheet中写入数据
    name_list = ['公司名字','公司状态','法定法人','注册资本','成立日期','法人电话','法人邮箱']#,'公司备注']
    for cc in range(0,len(name_list)):
        sheet1.write(0,cc,name_list[cc],style)
    for i in range(0,len(g_name_list)):
        print(g_name_list[i])
        sheet1.write(i+1,0,g_name_list[i],style)#公司名字
        sheet1.write(i+1,1,g_state_list[i],style)#公司状态
        sheet1.write(i+1,2,r_name_list[i],style)#法定法人
        sheet1.write(i+1,3,g_money_list[i],style)#注册资本
        sheet1.write(i+1,4,g_date_list[i],style)#成立日期
        sheet1.write(i+1,5,r_phone_list[i],style)#法人电话
        sheet1.write(i+1,6,r_email_list[i],style)#法人邮箱
#        sheet1.write(i+1,7,g_desc_list[i],style)#公司备注
    #保存excel文件,有同名的直接覆盖
    workbook.save(r"D:\wyy-tyc-"+time.strftime("%Y-%m-%d-%H-%M-%S", time.localtime()) +".xls")
    print('保存完毕~')

PS:运行前请将自己的cookie放到26行那里。

PPS:爬不到数据?自己手动去过一遍验证码再试试看。

PPPS:爬到的是空数据?自己去手动搜索一下看看这个词搜不搜得到。

PPPPS:最后一句了…要是觉着有用的话…请关注并收藏此链接…我嘛…刚买了几年服务器….不出意外的话,几年内都在,请关注我…拜托拜托 ~

转载请注明:夜羽的博客 » 【原创】Python爬虫爬天眼查数据

喜欢 (0)or分享 (0)
发表我的评论
取消评论
表情
(441)个小伙伴在吐槽
  1. thanks you very
    merve yalçın kimd2022-08-24 06:07 回复
  2. thanks you veryy gooddd
  3. thanks you very
    merve yalçın kimd2022-08-24 06:05 回复
  4. harika takipci geliyor cok iyi
  5. harika takipci geliyor cok iyi
  6. Yüzüne gülecek kadar dost sandığın kişilerin aslında arkandan konuşacak kadar yüzsüz.
  7. Ne güzel demiş Cemal Süraya; Uğraşamam dünümle ve dünümdekilerle... Ben yarına bakarım yanımdakilerle.
  8. Al ömrümü koy ömrünün üstüne, senden gelsin ölüm başım üstüne….
  9. Öğrenmeye devam eden herkes genç kalır. Henry Ford
  10. Elli yaşından sonra harfleri yakından seçemezsin ama dönen fırıldakları uzaktan bile anlarsın.
  11. Sözün en güzeli, söyleyenin doğru olarak söylediği, dinleyenin de yararlandığı sözdür. -Aristo
  12. Eğer aԁaletin temeli intikama ԁayalı ise, bu daha çok adaleti tetikleуecek ve bir nefret zincirini oluşacak.
  13. İyiler kaybetmez ama kaybedilir. Peyami Safa
  14. Ve aşk; hak edenlerin hayali olurken, hak etmeyenlerin oyuncağı oldu.
  15. Freeware [url=http://77pro.org/43-02-pst-file-repair.html]OST Repair[/url] software
    匿名2022-08-23 07:33 回复
  16. yabancı takipçi saton al sizler için en iyisi
  17. yabancı takipçi saton al sizler için en iyisi
  18. cok iyi begendim bayan kadın takipci satın
  19. cok iyi begendim bayan kadın takipci satın
  20. cok iyi begendim bayan kadın takipci satın li
    匿名2022-08-22 03:10 回复
  21. instagram türk takipçi satın al cok basarili
  22. instagram türk takipçi satın al cok bas
  23. thanks you very good tiktok video izlenme
  24. my hello
    hello2022-08-20 00:43 回复
  25. hello my
    hello2022-08-20 00:41 回复
  26. Kocamı Eve Bağlama Büyüsü
  27. Tüm ambalaj ürünleriniz fibertedarik.com adresinde. Kraft çanta, karton bardak, plastik bardak, çorba kasesi, patates kutusu, burger kutusu ve daha bir çok ürün ile hizmetinizdeyiz.
    Fiber Tedarik2022-08-19 06:30 回复
  28. Arkadaşlık kuvvetli bir bağdır. Paraya ihtiyaç olunca başvurulmazsa, ömür boyu sürer.- Mark Twain
    leccker.com2022-08-19 00:03 回复
  29. İyi olduğunuz için herkesin size adil davranmasını beklemek, vejetaryan olduğunuz için boğanın saldırmayacağını düşünmeye benzer. - Dennis Wholey
    leccker.com2022-08-19 00:01 回复
  30. Gömleğin ilk düğmesi yanlış iliklenince, diğerleri de yanlış gider. - C. Bruno
  31. Senin için yapraklarını kopardığım papatyalardan özür diledim dün gece. “Haklısınız dedim, ne sevdiği belli, ne sevmediği. -P. Neruda
  32. Sükut eyledim, ”Kahrı var” dediler. Biraz söyledim, ”Zehri” var dediler. Sustum, kahrından susuyor dediler; biraz konuştum, zehrini kusuyor dediler…
  33. Aşk dediğin nedir ki, tenden bedenden sıyrık, çocukların içinde, yaşadığı bir çığlık. - Ahmet Hamdi Tanpınar
  34. Aşk Hatırlamalarla Yaşar, Umutlarla Son Bulur. - Refik Halit Karay
  35. Gücüm onun gücü kadar, çünkü kalbim saf. Alfred Lord Tennyson
  36. Dua, insanın en büyük gücüdür! W. Clement Stone
  37. Yanında aptal bir kadın olan bir sürü zeki adam görürsünüz ama yanında aptal bir adam olan zeki kadın kolay kolay göremezsiniz. - E. Jong
  38. Her şeyi elde edebilirsin. Ama aynı anda değil! - Oprah Winfrey
  39. Adam savaşmakla çetin er sayılmaz, öfkelendiği zaman kendini tutabilendir çetin.
  40. En iyisi, sevinmeyi öğrenelim; böylece başkalarına acı vermeyi ve acıları düşünmeyi unuturuz. -Friedrich Nietzsche
  41. Acı su da, tatlı su da berraktır. Sakın görünüşe aldanma… Görünüşte herkes insandır ama gerçek insan hal ehli olandır.
    trwin2022-08-13 06:59 回复
  42. Bilginin efendisi olmak için çalışmanın uşağı olmak şarttır. - Honore de Balzac
    trwin2022-08-13 06:59 回复
  43. İyi olduğunuz için herkesin size adil davranmasını beklemek, vejetaryan olduğunuz için boğanın saldırmayacağını düşünmeye benzer. - Dennis Wholey
    trwinbahis2022-08-13 06:59 回复
  44. Miskin Adem oğlanı, nefse zebun olmuştur. Hayvan canavar gibi, otlamağa kalmıştır.
    trwinba2022-08-13 06:59 回复
  45. Aklıma gelmek kolay. Marifet, yanıma gelmekte…
    trwinbahis2022-08-13 06:59 回复
  46. Bir kadın seninle konuşurken, söylediklerini gözlerinle birlikte dinle. – Victor Hugo
    trwinba2022-08-13 06:59 回复
  47. Affetmek geçmişi değiştirmez ama geleceğin önünü açar. -Paul Boese
    trwinbahi2022-08-13 06:58 回复
  48. Açalım yüreğimizin kapılarını sonuna kadar, sevelim sevelim sevelim, sevebileceğimiz kadar. - Bedri Rahmi Eyüboğlu
    trwin2022-08-13 06:56 回复
  49. Cümleler doğrudur sen doğru isen, Doğruluk bulunmaz sen eğri isen.
    trwin2022-08-13 06:56 回复
  50. İyi olduğunuz için herkesin size adil davranmasını beklemek, vejetaryan olduğunuz için boğanın saldırmayacağını düşünmeye benzer. - Dennis Wholey
    trwinbahis2022-08-13 06:56 回复
  51. Zulum ile abad olanın akıbeti berbad olur.
    trwinbahis2022-08-13 06:56 回复
  52. Gönlüne en yakın olan kişi, sana en çok zarar verebilen kişidir.
    trwinba2022-08-13 06:56 回复
  53. En iyi yol dosdoğru gidendir. Robert Frost
    trwinba2022-08-13 06:56 回复
  54. Aşk Hiç bir Mani Bilmez, insan kendi kalbinin Seçtiği iIe Daima Mesuttur. - Joseph Shearing
    trwinbahi2022-08-13 06:55 回复
  55. Ne seni unutmak için bir çabam var içimde, ne de aşkımı körükleyen bir rüzgar,ne de seni görmeden durabilecek kadar güçlüyüm,ne de seni görmeye dayanacak bir kalbim var
    trwinbahi2022-08-13 06:55 回复
  56. Gömleğin ilk düğmesi yanlış iliklenince, diğerleri de yanlış gider. - C. Bruno
    abone hilesi2022-08-13 06:50 回复
  57. Kişinin susması, her zaman söyleneni onayladığı anlamına gelmez. Bazen canı aptallarla tartışmak istemiyordur.
  58. “Kafanı aslanın ağzına sokarsan, bir gün onu ısırırsa şikayet edemezsin.” - Agatha Christie
  59. Derdi dünya olanın, dünya kadar derdi olur. - Yunus Emre
  60. Yağmur başladı…Gelse de ıslansak dediği biri olmalı insanın…
  61. İnsan aklındakilerle gündüzleri, yüreğindekiyle geceleri uğraşıyormuş. - Can Yücel
  62. Bir insanın hayatının ikinci yarısı, ilk yarıda kazanılan alışkanlıkların sürdürülmesinden ibarettir.- Dostoyevski
  63. Arkadaşlık kuvvetli bir bağdır. Paraya ihtiyaç olunca başvurulmazsa, ömür boyu sürer.- Mark Twain
    abone hilesim hile2022-08-13 06:46 回复
  64. Durulduğu zamanları olur insanın, yorulduğu zamanlar olduğu gibi, ama ömür götüren kırıldığı zamanlardır.
  65. Bilgili bir ahmak, cahil bir ahmaktan daha çok ahmaktır. - Moliere
  66. Life isn’t about getting and having, it’s about giving and being. (Hayat almak veya sahip olmak değil vermek ve olmak demektir.) – Kevin Kruse
    abone hilesim hile2022-08-13 06:45 回复
  67. Aşk; eğri bacaklıyı doğru görme sanatıdır.
    abone hilesim hiles2022-08-13 06:45 回复
  68. Kalbin edebi sükûttur. Susan kurtulur. Güzellik dilin altında gizlidir. Sükût, incelik, edep ve zarafet insanı her gittiği yerde sultan yapar.
    abone hilesi2022-08-13 06:44 回复
  69. Önce biz alışkanlıklarımızı oluştururuz, sonra da alışkanlıklarımız bizi oluşturur. -John Dryden
  70. Zihin paraşüt gibidir. Açık değilse işe yaramaz. Frank Zappa
    abone hilesi2022-08-13 06:42 回复
  71. Kimse kimseyi unutmuyor ama asla karşı tarafın istediği biçimde hatırlamıyor.- Tezer Özlü
  72. Bir yıldız gibi kayarım hayatından yapabileceğin tek şey dilek tutmak olur.
  73. Öğrenmek, akıntıya karşı yüzmek gibidir ilerleyemediğiniz taktirde gerilersiniz. – Çin Atasözü
  74. “Yorgun olduğumuzda, uzun zaman önce fethettiğimiz fikirlere saldırıyoruz.” - Friedrich Nietzsche
  75. İnsanlar seninle konuşmayı bıraktığında, arkandan konuşmaya başlarlar. -Pablo Neruda
  76. Her insan yanlış yapabilir ancak sadece büyük insanlar yanlışlarının farkına varabilir.
  77. Aşk Hatırlamalarla Yaşar, Umutlarla Son Bulur. - Refik Halit Karay
    abone hilesim hile2022-08-13 06:39 回复
  78. Başarı bir yolculuktur, bir varış noktası değil. -Ben Sweetland
  79. Birisi güzel bir söz söylüyorsa bu, dinleyenin dinlemesinden, anlamasından ileri gelir.
  80. Kalbin edebi sükûttur. Susan kurtulur. Güzellik dilin altında gizlidir. Sükût, incelik, edep ve zarafet insanı her gittiği yerde sultan yapar.
    abone hilesim hile2022-08-13 06:38 回复
  81. Kalbin edebi sükûttur. Susan kurtulur. Güzellik dilin altında gizlidir. Sükût, incelik, edep ve zarafet insanı her gittiği yerde sultan yapar.
    abone hilesi2022-08-13 06:38 回复
  82. Hiç hata yapmayan insan, hiçbir şey yapmayan insandır. Ve hayatta en büyük hata, kendini hatasız sanmaktır.
  83. Hayatta başarılı olanlar, kendilerine gereken bilgileri öğrenmekten bir an geri kalmazlar ve hadislerin sebeplerini her zaman araştırırlar. -Rudyard Kıplıng
  84. İnsanların seni en çok sevdiği zaman, onların işine en çok yaradığın zamandır.
  85. Dil söyler kulak dinler, kalp söyler kainat dinler.
  86. “Yorgun olduğumuzda, uzun zaman önce fethettiğimiz fikirlere saldırıyoruz.” - Friedrich Nietzsche
    abone hilesim hiles2022-08-13 06:36 回复
  87. Sağırlık kulakta değil; akıldadır. Marlee Matlin
    abone hilesi2022-08-13 06:36 回复
  88. Akli resimler zihni kalıbımızın biçimlenmesine yardım eder. -Robert Collier
  89. Zor sınavlar güçlü insanlar yetiştirir.
  90. Cahil kişi gülün güzelliğini görmez, gider dikenine takılır.
  91. İyiler kaybetmez ama kaybedilir. Peyami Safa
  92. Başta dönüp koşan nice bilgiler, nice hünerler vardır ki, insan onunla baş olmak isterse, baş elden gider. Başının gitmesini istemiyorsan ayak ol.
    https://twitterhiz2022-08-13 06:31 回复
  93. Aşk, sakızdan çıkan sözler kadar basit olmaya devam ettikçe, insanlar da onu çiğneyip tükürmeye devam edecekler.
    https://twittertre2022-08-13 06:30 回复
  94. Her insan yanlış yapabilir ancak sadece büyük insanlar yanlışlarının farkına varabilir.
    https://twit2022-08-13 06:30 回复
  95. Bir insan bilmiyorsa ne istediğini, hem seni ziyan eder , hem kendini…Dibini görmediğin suya dalmadığın gibi, emin olmadığın sevgiye teslim etme kendini.
    twitter tt satın a2022-08-13 06:30 回复
  96. Bağlama Büyüsü
    Bağlama Büyüsü2022-08-09 05:55 回复
  97. #ozonemetaverse
    kripto para2022-08-06 17:21 回复
  98. You can never cross the ocean until you have the courage to lose sight of the shore. (Sahili gözden kaybetme cesaretini gösteremezseniz okyanusu geçemezsiniz.) – Christopher Columbus
  99. Aşk Doğal Değil, insanın Yapısı Bir şey ve onların En yücesidir. - Octavio Pacz
    twitter trend topi2022-08-06 01:03 回复
  100. Uzman, dar bir alanda yapılabilecek tüm hataları yapmış kişiye denir.- Niels Bohr
    twitter trend topic2022-08-06 01:03 回复
1 2 3 4 5
隐藏
变装