日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Reptile:requests + Xpath 爬取段子网的段子

發(fā)布時(shí)間:2023/12/9 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Reptile:requests + Xpath 爬取段子网的段子 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

2019/1/24?中午路飛學(xué)成?爬蟲課程?實(shí)驗(yàn)及筆記。

Xpath是路飛爬蟲課程中老師說的三種解析方式之一,前面是re正則表達(dá)式的解析方式,現(xiàn)在是xpath的解析方式,后面還有一個(gè)是bs4的解析方式。

re其實(shí)我理解的很困難,而且到現(xiàn)在都還不怎么理解這個(gè)東西到底應(yīng)該怎么去組合起來,進(jìn)行匹配,反而這個(gè)Xpath我個(gè)人覺得比較好理解,他就是通過一步一步的去解析網(wǎng)頁的結(jié)構(gòu)來找到你想要的東西,比如有一個(gè)三級(jí)的結(jié)構(gòu),你就可以用xpath一級(jí)一級(jí)的去往下走,直到到達(dá)你需要的點(diǎn)就ok了。而且還可以進(jìn)行模糊查找和邏輯查找。

下面是代碼:

# 需求:使用xpath對(duì)段子網(wǎng)的內(nèi)容和標(biāo)題進(jìn)行解析,并存儲(chǔ)到本地

  import os

  import requests

from lxml import etree

# 指定本地?cái)?shù)據(jù)存儲(chǔ)位置
if not os.path.exists('./Duan zi word'):
os.mkdir('Duan zi word')

# 獲取用戶輸入的頁碼范圍
start_page = int(input("Enter a start pageNum:>>>"))
end_page = int(input("Enter a end pageNum:>>>"))

# 打開文件并生成文件句柄
fp = open('Duan zi word/duanzi.txt', 'w', encoding='utf-8')

# 指定url 和請(qǐng)求頭信息
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) '
'Chrome/65.0.3325.181 Safari/537.36'
}
for num in range(start_page, end_page + 1, 1):
url = 'http://duanziwang.com/page/' + str(num)

# 發(fā)起請(qǐng)求并獲取返回?cái)?shù)據(jù):
response = requests.get(url=url, headers=headers)
if response.status_code == 200:
page_text = response.text

# 實(shí)例化etree對(duì)象,并對(duì)獲取的網(wǎng)頁數(shù)據(jù)進(jìn)行初步解析
tree = etree.HTML(page_text)
article_list = tree.xpath('//article[contains(@id,"")]') # 這里是使用了模糊匹配,用contains取所有包含id的標(biāo)簽,這個(gè)里面和課程有點(diǎn)不一樣,能是網(wǎng)站更新了吧

# 對(duì)初步解析得到的數(shù)據(jù)進(jìn)行二次解析,得到標(biāo)題和正文。xpath得到的Element對(duì)象都可以再次調(diào)用xpath
for li in article_list:
title = li.xpath('./div[@class="post-head"]/h1[1]/a/text()')[0] # 解析初標(biāo)題的信息,存到變量中后面寫入用 ./是表示在當(dāng)前標(biāo)簽下去進(jìn)行查找,當(dāng)前標(biāo)簽就是這個(gè)的父級(jí)標(biāo)簽
content = li.xpath('./div[@class="post-content"]/p[1]/text()') # 解析出內(nèi)容的信息。
try:
fp.write(title + ":" + "\n" + str(content[0]) + "\n\n")
print('\033[31m %s \033[m 已完成寫入' % title)
except:
fp.write(title + ":" + "\n\n")
print('\033[32m索引錯(cuò)誤\033[m \n')
else:
print("\033[41m鏈接訪問異常,請(qǐng)重新嘗試連接....\033[m")

做這個(gè)案例的時(shí)候碰到了一個(gè)小的問題,就是在后面進(jìn)行二次解析的時(shí)候發(fā)現(xiàn)會(huì)有拿到的列表中有空的,你對(duì)空列表進(jìn)行切片的時(shí)候就會(huì)報(bào)錯(cuò),超出了列表的索引的范圍,沒有想到很好的辦法進(jìn)行解決,就嘗試使用了
異常處理try 和 except進(jìn)行處理,沒有問題的就直接寫入到文件里面去,有問題的就給放在except中去執(zhí)行,只寫一個(gè)列表進(jìn)去,這個(gè)問題只存在在內(nèi)容里面,標(biāo)題是沒有這樣的問題的,因?yàn)闃?biāo)題是都有的,內(nèi)
容呢可能是有些用戶
沒有去寫吧,或者直接就吧標(biāo)題當(dāng)成了內(nèi)容就保存,就會(huì)出現(xiàn)空的列表的問題。


轉(zhuǎn)載于:https://www.cnblogs.com/wei-yu/p/10317052.html

總結(jié)

以上是生活随笔為你收集整理的Reptile:requests + Xpath 爬取段子网的段子的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 欧美黑人欧美精品刺激 | 中国一区二区三区 | jizz亚洲女人高潮大叫 | 极品另类 | 特黄一级视频 | 一个人看的毛片 | 亚洲精品二区 | 欧美男女交配视频 | 毛片在线网站 | xxxxwww一片 | 爱搞逼综合 | 97免费看 | 寂寞人妻瑜伽被教练日 | 亚洲自拍图片 | 国产波霸爆乳一区二区 | 亚洲欧洲日韩在线 | 亚洲综合激情网 | 国产乱论 | 亚洲欧美va天堂人熟伦 | 日韩精品久久久久久免费 | 欧美黄色免费在线观看 | 国产一二精品 | 午夜剧场福利社 | 成人欧美一区二区三区黑人一 | 国产片淫乱18一级毛片动态图 | 亚洲成人伊人 | 2022国产精品 | 波多野结衣一区二区三区 | 国产精品久久久久久 | 红桃视频成人 | 成人动漫h在线观看 | 国产成人无码精品久久久电影 | 男人与雌性宠物交啪啪 | 日本成人在线免费观看 | 国产性在线| 久久九九精品视频 | 欧美一区二区三区成人片在线 | 插我一区二区在线观看 | 美女自卫网站 | 九九综合网| 毛片av在线 | 高清中文字幕在线a片 | 牛牛影视一区二区 | 国产在线www | 国产一级影院 | 国产在线精品视频 | 欧美偷拍视频 | 又色又爽又黄18网站 | 亚洲第一区在线 | 久久91精品| 亚洲成人av一区二区 | 高清人妖shemale japan | 六月丁香激情 | 极品美女一区二区三区 | 东方影库av | 亚洲熟妇一区二区三区 | 久久综合色婷婷 | 亲子乱子伦xxxx | 黄色wwww| 中国黄色三级 | 日韩免费大片 | 自拍偷拍国产 | 色超碰| 亚洲第一天堂久久 | 超碰2025 | 姐姐你真棒插曲快来救救我电影 | 亚洲av无码不卡一区二区三区 | 亚洲五月六月 | 免费观看黄色网页 | 老妇女玩小男生毛片 | 久免费一级suv好看的国产 | 伊人色综合网 | 中文字幕久久一区 | 五月婷婷开心中文字幕 | 福利一区在线观看 | 中文字幕国产在线观看 | 每日av在线 | 黄黄的视频在线观看 | 亚洲女优在线播放 | 无码人妻精品一区二区50 | 欧美三日本三级少妇三级99观看视频 | av怡红院 | 免费三级网 | 亚洲成人手机在线 | 国产亚洲性欧美日韩在线观看软件 | 少妇系列在线观看 | 成人v| 在线观看久草 | 91精品国产91久久久久青草 | 国产 欧美 日韩 一区 | 中文视频一区二区 | 黄色1级大片 | 日韩黄色一区 | 久久人人做 | 久久97人妻无码一区二区三区 | 成人毛片在线观看 | 欧美黑人xxxⅹ高潮交 | 日本啪啪动态图 | 亚洲区一区二区 |