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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

Python3使用xpath爬取豆丁网文档

發布時間:2023/12/31 python 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python3使用xpath爬取豆丁网文档 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Python3使用xpath爬取豆丁網文檔(已不適用,僅供參考)

  • 準備工作
  • 源代碼

準備工作

首先,我們進入豆丁官網,隨便點擊一篇文檔,進入如下界面:

接著,按“F12”進入開發者工具;找到圖中所示的HTML標簽(可在開發者工具中搜索圖中關鍵詞匯);定位的光標處中src中的鏈接則是我們后續下載需要的URL地址(在瀏覽器中搜索上述地址,就會發現第一頁以圖片的形式呈現在了網頁中,這時我們便可以右鍵進行保存)。

細心的讀者就會發現,這其中是有跡可循的。所有的頁面都會一一對應一個div<id=“page_1,2,……”>,而我們所需要的URL地址都在這一標簽下的img標簽中,所以這就是我們本次要爬的重點。

注意事項:值得注意的是,你進入網站后,會發現網站后續的圖片是沒有刷新出來的,而沒有刷新出來的頁面是沒有上述所說的div標簽,所以是無法爬取的。這是該網站設計的反爬蟲機制,防止你直接通過網址進行爬蟲。
所以,無法通過該網頁的url進行爬取。借鑒筆者前兩篇文章:
爬取百度文庫文檔
爬取原創力文檔

舉一反三,復制開發者工具界面(div id=“contentcontainer”)這一標簽里的源碼(因人而異,讀者也可以復制所有的源碼,但是后續的xpath路徑也要隨之改變)復制到txt文件中,再讀取txt文件(如果讀者有更好的解決辦法,歡迎在評論區交流學習!)

  • 值得注意的是,一定要把所有頁面全部加載出來,不然有些頁面就沒有src地址
    好的,啰嗦了這么多。下面,讓我們進入源代碼環節(其實,和前面兩篇文章結構一樣,本質上是換湯不換藥)。

源代碼

""" 爬取豆丁文檔網站上的文檔 """ from urllib.request import urlretrieve import time from lxml import etree import numpy as npfrom docx import Document from os import listdir from docx.shared import Inches from docx.shared import Cm import osdir_path = 'F:\PycharmProjects\Scrapy\\results' # 要保存的文件夾目錄# 刪除文件夾下原有的jpg文件 def del_img():for files in os.listdir(dir_path):if files.endswith(".jpg"):os.remove(os.path.join(dir_path, files))# 從html.txt文件中讀取網頁源碼下載圖片,并從數字1按順序依次對圖片命名 def print_img(results):results = etree.HTML(results)content_list = results.xpath('//*[@id="contentcontainer"]/div')for content in content_list:img_url = content.xpath('.//div[1]/div/img/@src')# 設個延時time.sleep(np.random.randint(0, 1))if len(img_url):img_url = img_url[0].strip()img_name = content.xpath('.//div[1]/div/@id')img_name = img_name[0].strip()num = int(img_name[4:])img_name = dir_path + str(num) + '.jpg'# 根據src地址下載圖片,下載目錄默認是當前工作路徑urlretrieve(img_url, img_name)print('打印第', num, '張成功!')# 將圖片加載進word文檔,并保存 def print_docx():docx = Document()# 將文檔的頁面邊距均設為0sections = docx.sectionsfor section in sections:section.top_margin = Cm(0)section.bottom_margin = Cm(0)section.left_margin = Cm(0)section.right_margin = Cm(0)pictures = [fn for fn in listdir(dir_path) if fn.endswith('.jpg')]pictures.sort()pictures.sort(key=lambda x: int(x[:-4]))print(pictures)for img_name in pictures:img_name = dir_path + img_namedocx.add_picture(img_name, height=Inches(11))print(img_name, '添加成功!')# 保存文檔docx_name = '豆丁'docx_name = docx_name + '.docx' # 文檔名字docx.save(docx_name)print(docx_name, '保存成功!')if __name__ == '__main__':with open('html.txt', 'r', encoding='utf-8') as file:data = file.read()# 刪除原有的jpgdel_img()# 下載jpgprint_img(data)# 將jpg導入docxprint_docx()

xpath地址不知道的讀者同樣可以參考前面兩篇文章:
爬取百度文庫文檔
爬取原創力文檔

總結

以上是生活随笔為你收集整理的Python3使用xpath爬取豆丁网文档的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产精品午夜未成人免费观看 | 狠狠做深爱婷婷久久综合一区 | 女人16一毛片 | 123毛片 | www夜夜操 | 欧美91看片特黄aaaa | 亚洲一区二区自拍 | 亚洲AV无码成人精品区先锋 | 一本色道无码道dvd在线观看 | 性av网| 精品国产aⅴ | www国产亚洲精品 | 久久久国产精品一区二区三区 | 精品自拍一区 | 在线看中文字幕 | 久久久久久亚洲av无码专区 | 欧美成人性生活片 | 性欧美18| 一区二区三区视频网 | 男人的天堂一区二区 | 18禁超污无遮挡无码免费游戏 | 少妇av导航 | 亚洲一区免费看 | 久久资源av| 天天人人综合 | 欧美人日b | 草久久久 | 国产女人18水真多18精品一级做 | 国产精品500部 | 欧美日韩国产免费 | 国产ts人妖系列高潮 | 国产性70yerg老太 | 人妻丰满熟妇av无码久久洗澡 | 免费视频91蜜桃 | 精品中文在线 | 久久久久中文字幕亚洲精品 | 性欧美17一18内谢 | 黄色网页在线播放 | 欧美黄色性视频 | 精品乱人伦一区二区三区 | 精品久久久久久中文字幕人妻最新 | 九九99精品视频 | 欧美日韩1 | 天堂av在线网 | 自拍亚洲综合 | 国产a线| 性一级视频 | 天天综合色 | 欧美三级色图 | 免费看女生隐私 | 成人动漫一区二区三区 | 亚洲第一页av | 国产精品福利网站 | 亚洲天堂8 | 在线播放网址 | 成人激情四射 | 日本一区二区三区在线观看视频 | 欧美一区二区三区在线 | 日韩精品免费观看 | 久久亚洲AV无码精品 | av在线成人 | 少妇精品一区 | 青青草自拍 | 精品无码一区二区三区爱欲 | 欧美激情91 | 三级av在线| 精品66| 四虎影视免费永久大全 | 欧美最猛黑人xxxx | 黄色免费在线网站 | 男女日批在线观看 | 欧美一区二区三区公司 | 99久久久久久久久久 | 亚洲电影在线观看 | 法国空姐 在线 | 国产一区成人 | 在线看的免费网站 | 久久看片 | 黑人一区二区 | 欧美日韩18 | 高级家教课程在线观看 | 污污的视频网站在线观看 | 亚洲第一男人天堂 | 欧美一级网站 | 国产精品超碰 | 草在线 | 少妇精品高潮欲妇又嫩中文字幕 | 色小说香蕉 | 亚洲另类在线观看 | 亚洲论理 | 亚洲欧美日韩网站 | 影音先锋激情 | 黄污视频在线观看 | 久久久香蕉视频 | 全黄毛片| eeuss鲁丝片一区二区三区 | 被扒开腿一边憋尿一边惩罚 | 久久99久久99精品免视看婷婷 | 一二级毛片 |