Я написал следующие коды для обхода некоторых данных, например, следующие строки не печатаются:код питона ничего
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)`
Однако, это ничего не печатать. Тогда я сомневаюсь, что это может быть вызвано re, поэтому я проверяю регулярное выражение, но -Regex Pal говорит мне, что мой re прав, он может соответствовать html.
Так может кто-нибудь сказать мне, в чем проблема и как ее решить?
ли 'get_content' работать как надо? Вы проверяли регулярное выражение, чтобы убедиться, что оно работает (https://regex101.com/ - отличное место для этого)? Вы проверили, что возвращает 'get'? –
Он печатает вещи для меня. Букет строк с китайскими символами, обертывающий «Python», например. '招聘 Python 开发 工程师' – Tagc
попробуйте некоторые утверждения печати в вашей функции get до и после регулярного выражения, печати html и элементов печати, таким образом вы можете увидеть, как ваше регулярное выражение каким-то образом удаляет все, несмотря на то, что говорит приятель regex. –