Rumah > Soal Jawab > teks badan
Saya menggunakan python untuk melakukan perangkak web CSDN Apabila merangkak tajuk halaman web, ungkapan biasa yang saya gunakan (?<=<title>).+?(?=<)
tidak lagi boleh digunakan dalam CSDN Apabila saya melihat kod sumber CSDN, tajuk dipaparkan dalam baris baharu
Jadi ungkapan biasa asal tidak boleh digunakan Jadi, di sini muncul soalan Tajuk halaman web seperti ini mengandungi pemisah baris.
PS:
Saya tidak mahu menggunakan xpath atau beautifulsoup, saya hanya perlukan ungkapan biasa
CSDN sendiri mempunyai mekanisme anti-crawler. Bukan kerana anti-crawler ini saya tidak dapat merangkak tajuknya
Terima kasih semua
Mengikut kaedah @caimaoy, saya menukar ungkapan biasa kepada (?<=<title>)(?:.|n)+?(?=<)
dan tajuk diekstrak dengan sempurna.
Terima kasih semua sekali lagi.
仅有的幸福2017-06-22 11:53:43
re.M Mod berbilang talian
Tulis padanan berbilang baris sendiri http://python3-cookbook.readt...
曾经蜡笔没有小新2017-06-22 11:53:43
Tambahkan flag
pada ungkapan
tite = '......'
print(re.findall('(?<=\<title\>).+?(?=\<)', title, re.S))