2017-01-20 2 views
-4

ich die folgenden Codes geschrieben haben einige Daten zu kriechen, wie die folgenden Zeilen:Der Python-Code druckt nicht alles

import urllib.request, re 

def get_content(page): 
    url = 'https://www.liepin.com/zhaopin/?sfrom=click-pc_homepage-centre_searchbox-search_new&key=python&curPage=1'.format(page) 
    a = urllib.request.urlopen(url) 
    html = a.read() 
    html = html.decode('utf-8') 
    #print (html) 
    return html 

def get(html): 
    reg = re.compile(r'class="job-info" >[^.]+<span class="job-name" title="(.*?)" >.*?',re.S) 
    items = re.findall(reg, html) 
    return items 

for j in range(1,10): 
    html = get_content(j) 

    for i in get(html): 
     print (i) 
     with open("liepin.txt",'a')as f: 
      f.write(i)` 

Allerdings ist es nicht etwas drucken. Dann bezweifle ich, dass das durch die Re verursacht werden kann, also überprüfe ich den Regex, aber der -Rexx Pal sagt mir, dass mein Re stimmt, es kann mit dem HTML übereinstimmen.

Also kann mir jemand sagen, was das Problem ist und wie man es löst?

+1

Does 'get_content' Arbeit, wie es sollte? Hast du den regulären Ausdruck getestet, um sicherzustellen, dass er funktioniert? (Https://regex101.com/ ist ein großartiger Ort, um das zu tun)? Hast du überprüft, was "zurück" kommt? –

+0

Es druckt Sachen für mich. Ein Bündel von Linien mit chinesischen Symbolen, die "Python", z. '招聘 Python 开发 工程师' – Tagc

+0

Probieren Sie einige Druckanweisungen in Ihrer Funktion Get vor und nach der Regex, Drucken von HTML und Drucken von Elementen, auf diese Weise können Sie sehen, ob Ihre Regex irgendwie alles entfernt, was regex pal sagt –

Antwort