python爬虫分析百度文库、道客巴巴、豆丁网获取图片链接

您所在的位置:网站首页 道客巴巴豆丁网百度文库都是比较知名的 python爬虫分析百度文库、道客巴巴、豆丁网获取图片链接

python爬虫分析百度文库、道客巴巴、豆丁网获取图片链接

2024-03-14 08:14| 来源: 网络整理| 查看: 265

文章目录 前言百度文库道客巴巴豆丁网

前言

在从两个小网站爬取了书籍之后,我想研究一下大网站的网页,便把自己分析出来的一点结果分享出来,希望能帮助大家,也请大佬指出其中不足。

百度文库

任意打开一篇文档F12调出控制台 在这里插入图片描述 试着检查一下图片元素,可以发现一个url 在这里插入图片描述 url很长,包含了很多参数,我单独分析了一下参数的内容,没能找到页面之间的循环规律,如果有大佬发现了还望点拨点拨。 在这里插入图片描述 把链接拿出来直接从浏览器访问看看,成功获得了图片资源。 在这里插入图片描述 手动翻页,继续检查图片,同样可以获得一个新的url 在这里插入图片描述 这样以来就可以用selenium进行翻页,获取图片资源了,而元素定位可以结合之前图片中标注的#pageNo-1的这种id选择器,循环起来获取图片资源。

道客巴巴

这个需要在IE浏览器下操作,任意打开一个文档,调出控制台;依旧是找图片的连接;在这里图片链接被拆开放在object的data与param的value当中。 在这里插入图片描述 将刚才的链接拼好在页面中打开,虽然看起来是图片,实际上是flash,chrome直接访问会下载一个swf而非加载图片。 在这里插入图片描述 由于selenium调用ie并不那么常见,而且我采取的是截图来获取flash的图片,这里简单演示一下代码,还没有完善翻页获取多张图片。

from bs4 import BeautifulSoup from selenium import webdriver browser = webdriver.Ie() browser.get('http://www.doc88.com/p-2055371015972.html') html = browser.page_source soup = BeautifulSoup(html, 'lxml') # 获取object标签 list = soup.find_all('object') for item in list: # 获取object下的参数,索引为3的是需要的链接值 childs = soup.find('object').children i = 0 for child in childs: if i == 3: value = child['value'] url = item['data']+value print(url) i += 1 browser.get(url) browser.get_screenshot_as_file('F:/1.png')

结果展示 在这里插入图片描述 虽然比例有点失调,不过之后合成pdf的时候可以根据画布的尺寸进行调整。 在这里插入图片描述

豆丁网

这个也需要在ie下进行操作,在chrome、Firefox等浏览器内核下加载的是canvas的画布,双内核的360浏览在此采用的ie的加载机制。 在这里插入图片描述 后续的操作与道客巴巴中的相同,不再演示。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3