欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python3 xpath和requests應(yīng)用詳解

 更新時間:2020年03月06日 13:03:10   作者:jeikerxiao  
這篇文章主要介紹了python3 xpath和requests應(yīng)用詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

根據(jù)一個爬取豆瓣電影排名的小應(yīng)用,來簡單使用etree和request庫。

etree使用xpath語法。

import requests
import ssl
from lxml import etree


ssl._create_default_https_context = ssl._create_unverified_context

session = requests.Session()
for id in range(0, 251, 25):
 URL = 'https://movie.douban.com/top250/?start=' + str(id)
 req = session.get(URL)
 # 設(shè)置網(wǎng)頁編碼格式
 req.encoding = 'utf8'
 # 將request.content 轉(zhuǎn)化為 Element
 root = etree.HTML(req.content)
 # 選取 ol/li/div[@class="item"] 不管它們在文檔中的位置
 items = root.xpath('//ol/li/div[@class="item"]')
 for item in items:
  # 注意可能只有中文名,沒有英文名;可能沒有quote簡評
  rank, name, alias, rating_num, quote, url = "", "", "", "", "", ""
  try:
   url = item.xpath('./div[@class="pic"]/a/@href')[0]
   rank = item.xpath('./div[@class="pic"]/em/text()')[0]
   title = item.xpath('./div[@class="info"]//a/span[@class="title"]/text()')
   name = title[0].encode('gb2312', 'ignore').decode('gb2312')
   alias = title[1].encode('gb2312', 'ignore').decode('gb2312') if len(title) == 2 else ""
   rating_num = item.xpath('.//div[@class="bd"]//span[@class="rating_num"]/text()')[0]
   quote_tag = item.xpath('.//div[@class="bd"]//span[@class="inq"]')
   if len(quote_tag) is not 0:
    quote = quote_tag[0].text.encode('gb2312', 'ignore').decode('gb2312').replace('\xa0', '')
   # 輸出 排名,評分,簡介
   print(rank, rating_num, quote)
   # 輸出 中文名,英文名
   print(name.encode('gb2312', 'ignore').decode('gb2312'),
     alias.encode('gb2312', 'ignore').decode('gb2312').replace('/', ','))
  except:
   print('faild!')
   pass

程序運行結(jié)果:

補充知識:requests抓取以及Xpath解析

代碼:

# requests抓取
import requests
 
# 新浪新聞的一篇新聞的url
url = 'http://news.sina.com.cn/s/2018-05-09/doc-ihaichqz1009657.shtml'
 
res = requests.get(url)
# 查看編碼方式
enconding = requests.utils.get_encodings_from_content(res.text)
#print(enconding)
 
 
# 打印網(wǎng)頁內(nèi)容
html_doc = res.content.decode("utf-8")
print(html_doc[:500])
 
# 保存網(wǎng)頁內(nèi)容
with open('test.html', 'w') as f:
 f.write(html_doc)

運行結(jié)果:

<!DOCTYPE html>
<!-- [ published at 2018-05-09 18:23:13 ] -->
<!-- LLTJ_MT:name ="澎湃新聞" -->
 
<html>
<head>
<meta charset="utf-8"/>
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
<meta name="sudameta" content="urlpath:s/; allCIDs:51924,257,51895,200856,56264,258,38790">
<title>小學(xué)老師罰學(xué)生赤腳跑操場 官方:將按規(guī)定處理|赤腳|學(xué)生|華龍網(wǎng)_新浪新聞</title>
<meta name="keywords" content="赤腳,學(xué)生,華龍網(wǎng)" />
<meta name="tags" content="赤腳,學(xué)生,華龍網(wǎng)" />
<meta name="description" content="原標(biāo)題:潼南一小學(xué)體育老師罰學(xué)生赤腳跑操場續(xù):區(qū)教委向華龍網(wǎng)發(fā)來情況

代碼:

# xpath解析
from lxml import etree
 
# 建立html的樹
tree = etree.HTML(html_doc)
 
# 設(shè)置目標(biāo)路徑(標(biāo)題)
path_title = '/html/body//h1[@class="main-title"]//text()'
 
# 提取節(jié)點
node_title = tree.xpath(path_title)
print("===" * 20)
print(node_title[0])
 
# 設(shè)置內(nèi)容路徑
path_content = '//div[@class="article-content-left"]//div[@id="article"]//text()'
 
# 提取節(jié)點
node_content = tree.xpath(path_content)
print("===" * 20)
print("。".join(node_content))

運行結(jié)果:

============================================================
小學(xué)老師罰學(xué)生赤腳跑操場 官方:將按規(guī)定處理
============================================================
 
 ?! ≡瓨?biāo)題:潼南一小學(xué)體育老師罰學(xué)生赤腳跑操場續(xù):區(qū)教委向華龍網(wǎng)發(fā)來情況說明。
。  重慶客戶端-華龍網(wǎng)5月9日消息,這兩天,重慶潼南區(qū)朝陽小學(xué)二年級6班不少家長心疼不已,因為多個娃兒腳底被磨出了泡。一問才知道,是因為有些學(xué)生體育課上沒穿運動鞋,被體育老師要求赤腳在操場上跑步。收到重慶網(wǎng)絡(luò)問政平臺這一投訴后,華龍網(wǎng)記者立即進行了調(diào)查。今(9)日,華龍網(wǎng)發(fā)布了?!吨貞c潼南一小學(xué)體育老師罰學(xué)生赤腳跑操場腳底磨出泡當(dāng)?shù)亟涛槿搿?。報道后,潼南教委高度重視并給華龍網(wǎng)傳來官方的情況說明。。
。 ?!說明全文]。
?! £P(guān)于家長在華龍網(wǎng)投訴教師上體育課體罰學(xué)生的情況說明。
。  潼南區(qū)朝陽小學(xué)體育教師鄒老師于2018年5月7日上午上體育課時,發(fā)現(xiàn)該班有少部分名學(xué)生未按體育課的要求穿運動鞋。該教師認(rèn)為,穿著涼鞋跑步對學(xué)生本人及他人存在安全隱患,塑膠跑道不會對學(xué)生光腳運動造成影響,于是就叫未穿運動鞋的學(xué)生,脫掉涼鞋進行隨班熱身跑步。當(dāng)時鄒老師未發(fā)現(xiàn)學(xué)生有異常情況,也未接到學(xué)生有異常情況的反映。后經(jīng)家長反映到學(xué)校,有極少數(shù)光著腳跑步的學(xué)生有異常情況,學(xué)校庚即與部分家長進行了溝通,并及時調(diào)查了解了此事,并對該教師這種不恰當(dāng)教學(xué)方法進行了批評教育,我們將按相關(guān)規(guī)定對該教師作出相應(yīng)的處理。。
?! ≈貞c市潼南區(qū)教育委員會。
。  2018年5月9日。
。  來源:華龍網(wǎng)。
 
。責(zé)任編輯:張義凌 。

以上這篇python3 xpath和requests應(yīng)用詳解就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • python非標(biāo)準(zhǔn)時間的轉(zhuǎn)換

    python非標(biāo)準(zhǔn)時間的轉(zhuǎn)換

    本文主要介紹了python非標(biāo)準(zhǔn)時間的轉(zhuǎn)換,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-07-07
  • Python實現(xiàn)隨機生成圖片驗證碼詳解

    Python實現(xiàn)隨機生成圖片驗證碼詳解

    這篇文章主要介紹了如何利用Python生成隨機的圖片驗證碼 并打印驗證碼的值,文中的示例代碼簡潔易懂,感興趣的小伙伴可以跟隨小編一起試試
    2022-01-01
  • Python 文件操作技巧(File operation) 實例代碼分析

    Python 文件操作技巧(File operation) 實例代碼分析

    python遍歷文件夾和文件 perl分割路徑和文件名
    2008-08-08
  • pytest參數(shù)化:@pytest.mark.parametrize詳解

    pytest參數(shù)化:@pytest.mark.parametrize詳解

    pytest.mark.parametrize裝飾器能夠?qū)y試函數(shù)進行參數(shù)化處理,使得一個測試函數(shù)可以用多組數(shù)據(jù)執(zhí)行多次,這有助于檢查不同輸入下的期望輸出是否匹配,提高測試的效率和覆蓋率,裝飾器可以應(yīng)用于函數(shù)、模塊或類,支持多個裝飾器組合使用,增強測試的靈活性和綜合性
    2024-10-10
  • python快速建立超簡單的web服務(wù)器的實現(xiàn)方法

    python快速建立超簡單的web服務(wù)器的實現(xiàn)方法

    某些條件測試,需要一個簡單的web服務(wù)器測試一下,為此專門去配置個nginx 或者 apache服務(wù)器略顯麻煩,這里就為大家介紹一下使用python快速建立超簡單的web服務(wù)器的方法,需要的朋友可以參考下
    2018-02-02
  • python爬蟲項目設(shè)置一個中斷重連的程序的實現(xiàn)

    python爬蟲項目設(shè)置一個中斷重連的程序的實現(xiàn)

    這篇文章主要介紹了python爬蟲項目設(shè)置一個中斷重連的程序的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • keras 權(quán)重保存和權(quán)重載入方式

    keras 權(quán)重保存和權(quán)重載入方式

    這篇文章主要介紹了keras 權(quán)重保存和權(quán)重載入方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-05-05
  • python正則表達(dá)式match和search用法實例

    python正則表達(dá)式match和search用法實例

    這篇文章主要介紹了python正則表達(dá)式match和search用法,實例分析了正則表達(dá)式中match和search的功能、定義及相關(guān)使用技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-03-03
  • pytorch loss反向傳播出錯的解決方案

    pytorch loss反向傳播出錯的解決方案

    這篇文章主要介紹了pytorch loss反向傳播出錯的解決方案,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-05-05
  • Python pip安裝模塊提示錯誤解決方案

    Python pip安裝模塊提示錯誤解決方案

    這篇文章主要介紹了Python pip安裝模塊提示錯誤解決方案,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-05-05

最新評論