30/09/2018, 20:56

Cần giúp đỡ regular expression python

Em đang bắt đầu làm quen với python được 1 tháng, và thấy thú vị về lĩnh vực scraping web, muốn xây dựng 1 doạn code để lấy thông tin từ trang cá nhân của một mạng xã hội.
muốn get cái ngày sinh mà mãi k find được:

regex  = '<dl class="pinfo_row _pinfo"><dt>День рождения:</dt><dd><a href="/search?c[section]=people&c[bday]=8&c[bmonth]=5">8 мая</a> <a href="/search?c[section]=people&c[byear]=1996">1996 г.</a></dd></dl>'

reg2 = '<dl class="pinfo_row _pinfo"><dt>День рождения:</dt><dd><a href="/search?c\[section\]=people&c\[bday\]=d&c\[bmont\]=d">[^.]*</a> <a href="/search?c\[section\]=people&c\[byear\]=d{1,}">(/+?) г.</a></dd></dl>'indent preformatted text by 4 spaces
lx viết 23:03 ngày 30/09/2018

bạn lấy thông tin từ web nào vậy?

Le Tran Phuong viết 23:02 ngày 30/09/2018

Mình không rành về cái này lắm. Nhưng có cái web này rất hay, có thể test trực tiếp reg của bạn. Bạn thử xem có giúp gì được không.
https://regex101.com/

Củ Chuối viết 23:10 ngày 30/09/2018

là bạn muốn lấy số “8” trong “[bday]=8” à?

DHQ viết 23:00 ngày 30/09/2018

Không bạn ạ, cái [bday]=8 trong href là để nó search những người sinh ngày 8 tháng năm, hoặc, năm 1996
mình muốn lấy cái 8 Мая và 1996.

DHQ viết 22:56 ngày 30/09/2018

Trang vk.com bạn ạ

Củ Chuối viết 23:03 ngày 30/09/2018

"\/search.*">(.*?)<\/a>.* <a href="\/search.*">(\d*).*<

Thành Phạm viết 23:07 ngày 30/09/2018

Sao bạn không dùng html parser vừa dễ viêt vừa dễ đọc

import requests
from bs4 import BeautifulSoup

r = requests.get('http://vk.com/id364557226')

soup = BeautifulSoup(r.text, 'html.parser')
for i in soup.select_one('.profile_info').children:
    if 'Birthday:' in i.text:
        print i.select_one('dd').text
Bài liên quan
0