2015-05-29 15 views
6

Tôi đang cố gắng gửi biểu mẫu trên page bằng cách sử dụng Cơ giới hóa.Sửa mã hóa ký tự của trang web bằng python Mechanize

br.open("http://mspc.bii.a-star.edu.sg/tankp/run_depth.html") 
#selecting form to fill 
br.select_form(nr = 0) 
#input for the form 
br['pdb_id'] = '1atp' 
req = br.submit() 

Tuy nhiên điều này mang đến cho các lỗi sau

mechanize._form.ParseError: expected name token at '<! INPUT PDB FILE>\n\t' 

tôi con số này là vì một số mã hóa ký tự đặt không đúng chỗ (ref). Tôi muốn biết cách sửa lỗi này.

Trả lời

2

Sự cố của bạn bị hỏng HTML comment tags, dẫn đến trang web không hợp lệ mà trình phân tích cú pháp của cơ giới không thể đọc được. Nhưng thay vào đó bạn có thể use the included BeautifulSoup parser, hoạt động trong trường hợp của tôi (Python 2.7.9, cơ giới hóa 0.2.5):

#!/usr/bin/env python 
#-*- coding: utf-8 -*- 
import mechanize 

br = mechanize.Browser(factory=mechanize.RobustFactory()) 
br.open('http://mspc.bii.a-star.edu.sg/tankp/run_depth.html') 
br.select_form(nr=0) 
br['pdb_id'] = '1atp' 
response = br.submit() 
Các vấn đề liên quan