HD上にWebサイトをスクラップしたときと同じようにxpath検索を行いたいhtmlファイルがあります。ハードドライブからhtmlファイルを開き、xpath検索を実行します
私はウェブサイトからこすりするには、次のコードを使用している:ウェブサイトから何かを取得するとき
from lxml import html
import requests
response = requests.get('http://www.website.com/')
if (response.status_code == 200):
pagehtml = html.fromstring(response.text)
for elt in pagehtml.xpath('//div[@class="content"]/ul/li/a'):
print("**",'"',elt.text_content(),'"',"****", elt.attrib['href'])
は今、これはうまく動作しますが、HTMLファイルには、私のHDにあるときにどのように私は行くのです。私は約10の事を試してみましたし、現時点では私のコードは次のようになります。
with open(r'website.html', 'rb') as infile:
data = infile.read()
for elt in data.xpath('//h3/a'):
print("**",'"',elt.text_content(),'"',"****", elt.attrib['href'])
私は別のエラー、時には「_io.BufferedReader」エラーを得続けるが、私はちょうど右のコードを得ることはありません。
提案がありますか?これは、ファイルデータの復号化は自動的に処理されていることを確認します
from lxml import html
pagehtml = html.parse('index.html')
for elt in pagehtml.xpath('//a'):
print("**",'"',elt.text_content(),'"',"****", elt.attrib['href'])
:よろしく
HTML(厳密なXHTMLさえも)が有効なXMLであることはめったにないので、XMLパーサーを使用することは悪い考えです。 –