【Python】BeautifulSoupのエラー対処 -  SyntaxError: Invlaid character '[' at position 1

【Python】BeautifulSoupのエラー対処 - SyntaxError: Invlaid character '[' at position 1


# beautifulsoup # python # スクレイピング # 入門

環境

Python:3.65 MacOS:Sierra(10.12.6) CentOS:7.5 requests:2.21.0 beautifulsoup4:4.6.3

やりたかったこと

from bs4 import BeautifulSoup
import requests
url = 'http://hoge.html'
res = requests.get(url)
soup = BeautifulSoup(res.text, "html.parser")
soup.select('a[href=hoge]')

href属性に特定のURLを含むaタグを抽出しようとしました。 別段特別なことはしていないものの、上記のコードをMacOSで動かし所動かして問題なく動作したものの、 CentOSにデプロイしたところ、エラー発生が発生…

エラー内容

SyntaxError: Invlaid character '[' at position 1

対処方法

アトリビュートの値をダブルコーテーションで囲めばokでした。 (Macではダブルコーテーションありなしどちらでも動作しました。)

soup.select('a[href="hoge"]')

原因

原因については、きちんと理解が出来ていません… わかったタイミングで追記をしたいと思います。。