本人的全部文章只適合善於使用百度的人,由於全部基礎知識個個博客複製粘貼了無數遍,我這裏均不會詳細講述。html
在這裏我表示全部不經驗證的轉載都是耍流氓,把一篇篇錯誤的文章轉載的處處都是,不知道浪費了多少人的時間精力去反覆調試錯誤的代碼,尤爲是對初學者有極大的打擊性。python
你們在學習python爬蟲的過程當中,會發現一個問題,語法我看完了,說的也很詳細,我也認真看了,爬蟲仍是不會寫,或者沒有思路,因此個人全部文章都會從實例的角度來解析一些常見的問題和報錯。python爬蟲
迴歸正題,你們暈頭轉腦的看完繁雜的語法以後,已經火燒眉毛寫點什麼東西了,而後部分同窗可能遇到了這個dom
<Element a at 0x39a9a80>
或者相似 Element a at 0x???????,這樣的一個值,而後你們帶着問題去搜,而後全是英文啊,什麼一大堆亂七八糟的啊,英文很差的同窗就崩潰了,在這裏,我會重點解析一下學習
某種意義上來講,當你打印變量的時候獲得的這個值,其實它是一個列表,而後列表中的每個值都是一個字典調試
如何使用理解請看半成品開車實例,證實了本人很是擅長把學習和樂趣結合起來而且切身解決平常需求,滑稽臉.jpgcode
from bs4 import BeautifulSoup from lxml import etree import requests gjc='SHKD-700' #定義URL html = "http://www.btanv.com/search/"+gjc+"-hot-desc-1" #解碼URL html = requests.get(html).content.decode('utf-8') #解析成xml dom_tree = etree.HTML(html) #在xml中定位節點,返回的是一個列表 links = dom_tree.xpath("//a[@class='download']") for index in range(len(links)): # links[index]返回的是一個字典 if (index % 2) == 0: print(links[index].tag) print(links[index].attrib) print(links[index].text)
下面重點看看這個代碼,xml
print(links[index]) print(type(links[index])) print(links[index].tag)#獲取<a>標籤名a print(links[index].attrib)#獲取<a>標籤的屬性href和class print(links[index].text)#獲取<a>標籤的文字部分
打印出來的是htm
<Element a at 0x3866a58> <class 'lxml.etree._Element'> a {'href': 'magnet:?xt=urn:btih:7502edea0dfe9c2774f95118db3208a108fe10ca', 'class': 'download'} 磁力連接
該節點的html代碼爲utf-8
<a href="magnet:xt=urn:btih:7502edea0dfe9c2774f95118db3208a108fe10ca" class="download">磁力連接</a>
看到這裏你們應該就很是獸血沸騰的瞭解了三個屬性的用法了。
歡迎收藏點贊,拒絕轉載,由於目前我也是自學向前摸索,這些都是我目前認知到的東西,確定有講的不許確的地方,不但願會誤導到他人