另一種方法是使用當前的requests
模塊。 你可以通過user-agent
這樣的:
import requests
from bs4 import BeautifulSoup
headers = {
'User-Agent': 'Mozilla/5.0 (Linux; Android 4.4.2; Nexus 4 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.114 Mobile Safari/537.36'
}
page = requests.get("http://flow.gassco.no/", headers=headers)
soup = BeautifulSoup(page.text, 'html.parser')
編輯:爲了使這個版本的工作簡單,你可以做一個變通方法與瀏覽器會話。 您需要通過requests.get
a cookie
告知網站會話號碼,其中條款和條件已被接受。
運行這段代碼:
import requests
from bs4 import BeautifulSoup
url = "http://flow.gassco.no"
s = requests.Session()
r = s.get(url)
action = BeautifulSoup(r.content, 'html.parser').find('form').get('action') #this gives a "tail" of url whick indicates acceptance of Terms
s.get(url+action)
page = s.get(url).content
soup = BeautifulSoup(page, 'html.parser')
我想,你必須使用硒網絡驅動程序繞過長期接受 – slesh
謝謝,我看看吧! –