XPath提取多個標簽下的text

今天在用Python爬取簡歷時,想把教育經歷,工作經歷一起輸出來,即提取標簽及其子標簽下(多個標簽下)的text內容。

XPath提取多個標簽下的text內容

網上搜到的基本都是這篇文章:

xpath一次提取多個標簽下的內容

用的xpath string(.) 我試了一下,還是報錯。不得已準備用迭代的方式取出內容。后來發現是selector.xpath('//xxxx')取出來的應該是集合,這個地方應該是寫錯誤了,data要加上索引,即代碼應該是:

   info = data[0].xpath('string(.)').extract()[0]

果然,修改后就得到了所有的文本內容。

再往文章上面看,作者寫了一個tag:
tags: [xpath,Python,xml,scrapy]

是因為這僅僅是在scrapy下這樣寫的嗎?正好這兩天也在看scrapy,我就試著用scrapy抓取這段數據。

簡書上的文章信息

發現仍是一樣,xpath('xxx')取出的就是集合,下一次操作時要么使用迭代,要么加上索引操作。

XPath提取數據塊(結構性數據)的技巧

選取點放在包含結構性數據循環的地方,即取決大的地方,再用xpath向內取數據。就是先抓大再抓小。

如爬取簡書上文章的信息,第一次selector要定在ul class="article-list thumbnails" 的li,<li></li>中包含的就是一篇文章的信息。(注意li 的樣式有兩種 have-img 即有縮略圖的)

文章列表html
articles = selector.xpath('//ul[@class="article-list thumbnails"]/li')

    for article in articles:
        title = article.xpath('div/h4/a/text()').extract()
        url = article.xpath('div/h4/a/@href').extract()
        author = article.xpath('div/p/a/text()').extract()
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容