Tôi có một danh sách các url như sau:
url = [
www.example.com?search?q=Term&page=0,
www.example.com?search?q=Term&page=1,
www.example.com?search?q=Term&page=2
]
trong đó Thuật ngữ có thể là bất kỳ thuật ngữ nào chúng tôi muốn:Châu Âu
,Luân Đôn
Chờ đợi.
Một phần mã của tôi (trong toàn bộ mã) như sau:
cho url trong url:
file_name = url.replace('http://www.example.com/search?q=','').replace('=','').replace('&','')
file_name = file_name+('.html')
hóa ra:
Termpage0.html
Termpage1.html
và vân vân..
Làm cách nào để xóa Thuật ngữ khỏi danh sách url, kết quả như sau:
trang0.html
trang1.html
và vân vân?
bạn có thể sử dụng urllib.parse
Phân tích URL và sau đó phân tích phần truy vấn. Lợi ích của phương pháp này là nó hoạt động ngay cả khi bạn thay đổi thứ tự của các phần truy vấn hoặc thêm phần mới:
từ phân tích nhập urllib
url = [
'www.example.com?search?q=Term&page=0',
'www.example.com?search?q=Term&page=1',
'www.example.com?search?q=Term&page=2'
]
cho url trong url:
phần = parse.urlparse(url)
truy vấn = parse.parse_qs(parts.query)
print('page{}.html'.format(query['page'][0]))
Đầu ra:
trang0.html
trang1.html
trang2.html
trên cùngphân tích cú pháp url
Trả về một URL chứa thành phần Phân tích kết quả
对象:
>>> từ phân tích nhập urllib
>>> parts = parse.urlparse('www.example.com/search?q=Term&page=0')
>>> bộ phận
ParseResult(scheme='', netloc='', path='www.example.com/search', params='', query='q=Term&page=0', Fragment='')
Sau đó phân tích_qs
sẽ trở lại mệnh lệnh
Tham số truy vấn trong đó giá trị là danh sách:
>>> truy vấn = parse.parse_qs(parts.query)
>>> truy vấn
{'trang': ['0'], 'q': ['Thuật ngữ']}
Tôi là một lập trình viên xuất sắc, rất giỏi!