1. 程式人生 > >python requests爬蟲使用lxml解析HTML獲取資訊不對等的問題

python requests爬蟲使用lxml解析HTML獲取資訊不對等的問題

python requests爬蟲使用lxml解析HTML獲取資訊不對等的問題

我們在用lxml解析HTML文字時,有時會碰到“<”p“>”標籤有換行“<“br”>”的情況,如果我們用獲取xpath的方法,迴圈獲得該元素下的所有text()文字,同一個“<”p“>”標籤會出現兩段內容,解決辦法是替換掉網頁文字內容:

	#!/usr/bin/env python
	# -*- coding:utf-8 -*-
	# Author pudding
	import requests
	from lxml import etree
	
	url = 'http://******'
    data = requests.get(url)
    r = data.content
    html_doc = str(r, 'utf-8')   # 此舉旨在正確編碼,避免亂碼 
    s = etree.HTML(html_doc.read().replace('<br>', '').replace('</br>', ''))

這樣便可達到目的。

 phone = s.xpath('//*[@id="content"]/table//text()')
 for index, ph in enumerate(phone):
 	if index > 0:
    	sheet_one.write(index + 1, 3, str(ph))