Heim  >  Fragen und Antworten  >  Hauptteil

Python – Der Titel der Webseite enthält eine neue Zeile. Wie extrahiere ich ihn mit regulären Ausdrücken?

Ich verwende Python, um den CSDN-Webcrawler auszuführen. Beim Crawlen des Webseitentitels kann der reguläre Ausdruck, den ich verwendet habe, nicht mehr in CSDN verwendet werden. Der Titel wird in einer neuen Zeile angezeigt (?<=<title>).+?(?=<)

Der ursprüngliche reguläre Ausdruck kann also nicht verwendet werden. Hier stellt sich die Frage: Wie kann ich ihn mit regulären Ausdrücken extrahieren?

PS:

  1. Ich möchte weder xpath noch beautifulsoup verwenden, ich brauche nur reguläre Ausdrücke

  2. CSDN selbst verfügt über einen Anti-Crawler-Mechanismus. Es liegt nicht an diesem Anti-Crawler, dass ich den Titel nicht crawlen konnte

Vielen Dank an alle

Nach der Methode von @caimaoy habe ich den regulären Ausdruck in

geändert und der Titel wurde perfekt extrahiert. (?<=<title>)(?:.|n)+?(?=<)Nochmals vielen Dank an alle.

女神的闺蜜爱上我女神的闺蜜爱上我2699 Tage vor970

Antworte allen(2)Ich werde antworten

  • 仅有的幸福

    仅有的幸福2017-06-22 11:53:43

    1. re.M 多行模式

    2. 自己写多行匹配 http://python3-cookbook.readt...

    Antwort
    0
  • 曾经蜡笔没有小新

    曾经蜡笔没有小新2017-06-22 11:53:43

    表达式那边加个flag

    tite = '......'
    print(re.findall('(?<=\<title\>).+?(?=\<)', title, re.S))

    Antwort
    0
  • StornierenAntwort