Python的第三天

使用xpath語法提取本地html文件的內(nèi)容

安裝lxml庫

# pip install lxml
from lxml import html
# with open('路徑', '模式', '編碼') as f:
 f.write('寫入的內(nèi)容')
 f.read() # 讀取模式

讀取本地的html文件

with open('index2.html', 'r', encoding='utf-8') as f:
   html_data = f.read()
   # print(html_data)

提取h1標(biāo)題中的內(nèi)容

selector = html.fromstring(html_data)

/ 代表根節(jié)點

獲取標(biāo)簽的內(nèi)容需要在路徑末尾增加/text()

h1 = selector.xpath('/html/body/h1/text()')
print(h1)

獲取標(biāo)簽內(nèi)容語法形式

//標(biāo)簽1[@屬性="屬性值"]/標(biāo)簽2[@屬性="屬性值"]/.../text()

// 代表從任意位置開始

獲取a標(biāo)簽的內(nèi)容

a = selector.xpath('//div[@id="container"]/a/text()')
print(a)

獲取標(biāo)簽屬性語法形式

//標(biāo)簽1[@屬性="屬性值"]/標(biāo)簽2[@屬性="屬性值"]/.../@屬性名

link = selector.xpath('//div[@id="container"]/a/@href')
print(link)

當(dāng)當(dāng)網(wǎng)圖書爬蟲

import requests
from lxml import html

獲取目標(biāo)站點的源代碼

url = 'http://search.dangdang.com/?key=9787115428028&act=input'
html_data = requests.get(url).text

xpath提取

selector = html.fromstring(html_data)

獲取所有圖書的價格

 price = selector.xpath('//div[@id="search_nature_rg"]/ul/li[1]/p[3]/span[1]/text()')
 print(price)
ul_lsit = selector.xpath('//div[@id="search_nature_rg"]/ul/li')
print(len(ul_lsit))

遍歷

for li in ul_lsit:

價格

    price = li.xpath('p[3]/span[1]/text()')
    print(price)

書名

購買鏈接

店鋪名稱

當(dāng)當(dāng)網(wǎng)圖書爬蟲

import requests
from lxml import html
import pandas as pd
def spider(isbn):
    book_list = []

獲取目標(biāo)站點的源代碼

如何格式化字符串 format方法

  url = 'http://search.dangdang.com/?key={}&act=input'.format(isbn)
  html_data = requests.get(url).text

xpath提取

 selector = html.fromstring(html_data)
 ul_lsit = selector.xpath('//div[@id="search_nature_rg"]/ul/li')
    print('共有{}家售賣此書'.format(len(ul_lsit)))

遍歷

for li in ul_lsit:

價格

    price = li.xpath('p[3]/span[1]/text()')[0]
    price = price.replace('¥', '')
    price = float(price)

書名

        book_name = li.xpath('p[@class="name"]/a/@title')[0]

購買鏈接

      link = li.xpath('p[@class="name"]/a/@href')[0]

店鋪名稱

   store = li.xpath('p[@cla
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末拳喻,一起剝皮案震驚了整個濱河市员淫,隨后出現(xiàn)的幾起案子掉弛,更是在濱河造成了極大的恐慌,老刑警劉巖攘烛,帶你破解...
    沈念sama閱讀 221,888評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件嗓袱,死亡現(xiàn)場離奇詭異臼朗,居然都是意外死亡,警方通過查閱死者的電腦和手機昏名,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,677評論 3 399
  • 文/潘曉璐 我一進店門涮雷,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人轻局,你說我怎么就攤上這事洪鸭。” “怎么了仑扑?”我有些...
    開封第一講書人閱讀 168,386評論 0 360
  • 文/不壞的土叔 我叫張陵览爵,是天一觀的道長。 經(jīng)常有香客問我镇饮,道長蜓竹,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,726評論 1 297
  • 正文 為了忘掉前任储藐,我火速辦了婚禮俱济,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘钙勃。我一直安慰自己蛛碌,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 68,729評論 6 397
  • 文/花漫 我一把揭開白布辖源。 她就那樣靜靜地躺著蔚携,像睡著了一般希太。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上浮梢,一...
    開封第一講書人閱讀 52,337評論 1 310
  • 那天跛十,我揣著相機與錄音,去河邊找鬼秕硝。 笑死,一個胖子當(dāng)著我的面吹牛洲尊,可吹牛的內(nèi)容都是我干的远豺。 我是一名探鬼主播,決...
    沈念sama閱讀 40,902評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼坞嘀,長吁一口氣:“原來是場噩夢啊……” “哼躯护!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起丽涩,我...
    開封第一講書人閱讀 39,807評論 0 276
  • 序言:老撾萬榮一對情侶失蹤棺滞,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后矢渊,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體继准,經(jīng)...
    沈念sama閱讀 46,349評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,439評論 3 340
  • 正文 我和宋清朗相戀三年矮男,在試婚紗的時候發(fā)現(xiàn)自己被綠了移必。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,567評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡毡鉴,死狀恐怖崔泵,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情猪瞬,我是刑警寧澤憎瘸,帶...
    沈念sama閱讀 36,242評論 5 350
  • 正文 年R本政府宣布,位于F島的核電站陈瘦,受9級特大地震影響幌甘,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜甘晤,卻給世界環(huán)境...
    茶點故事閱讀 41,933評論 3 334
  • 文/蒙蒙 一含潘、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧线婚,春花似錦遏弱、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,420評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽泪姨。三九已至,卻和暖如春饰抒,著一層夾襖步出監(jiān)牢的瞬間肮砾,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,531評論 1 272
  • 我被黑心中介騙來泰國打工袋坑, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留仗处,地道東北人。 一個月前我還...
    沈念sama閱讀 48,995評論 3 377
  • 正文 我出身青樓枣宫,卻偏偏與公主長得像婆誓,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子也颤,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,585評論 2 359

推薦閱讀更多精彩內(nèi)容