爬取frame内的多条链接
来源:互联网 发布:matlab 生成稀疏矩阵 编辑:程序博客网 时间:2024/05/17 23:23
Python爬网页功能强大是众所周知,一直想试试,却一直没有决心做。最近收到一个任务,爬取一些go的资料。
要爬的网址是Go语言标准库,首先分析下需要用到的知识:
- 获取链接地址,即获取href属性;
- 从网址上get到html页面,并保存到文件中;
- 由于链接集在一个frame内,因此需要用到selenium的切换frame。
代码如下:
#_*_coding:utf8 _*_import requestsfrom bs4 import BeautifulSoupfrom selenium import webdriverif __name__ == "__main__": browser_driver = webdriver.Chrome() browser_driver.get("https://studygolang.com/pkgdoc") links = [] titles = [] browser_driver.switch_to.frame(0) for link in browser_driver.find_elements_by_tag_name('a'): links.append(link.get_attribute('href')) titles.append(link.text) file_path = 'E:\est\go_artical{}.htm' i = 0 for res in links: result = requests.get(res) result.raise_for_status() for chunk in result.iter_content(100000): playFile = open(file_path.format(i),'wb') playFile.write(chunk) i = i + 1 playFile.close() browser_driver.quit()
还可以完善的一点是爬取出来之后的文件命名,本打算用text值命名,不过里面包含有‘/’,还要再进行拆分,所以就先这样吧。
切换frame相关知识补充,这篇介绍的是相当详细了,留作以后查阅。
阅读全文
0 0
- 爬取frame内的多条链接
- 爬取百度词条内链接
- 多frame的滚动条联动
- 爬取视频链接的例子
- 一种典型问题的解决-取一个小时内的最后两条记录
- vb 遍历frame内的控件
- Frame应用:打开电脑内的文件夹
- scrapy爬取链接
- Frame跟链接的对应关系
- 内链接和外链接的区别
- 多条重复编号的记录只取一条
- SQL_多条记录中取最大日期的记录
- 简单的爬取新浪新闻标题与链接
- scrapy爬取网易云音乐的MP3链接
- python爬取晋江手机界面的链接
- 通过Python对各个页面链接的有效爬取
- 爬取一条微博的所有转发链接
- Heritrix3 控制爬取链接
- TCP 协议 三次握手 四次挥手 数据传输
- java基础大汇总一
- pandas画图
- 任学堂讲科技:“进击的AI”,人工智能未来将是人类头号威胁?
- Leetcode刷题之路(Python)——535. Encode and Decode TinyURL
- 爬取frame内的多条链接
- vue
- 安装tomcat
- linked-list-cycle-ii Java code
- java与mysql时间类型对应(转载,未验证)
- Ubuntu经验/技巧
- scrapy 知乎模拟登录
- 反射机制reflect
- Uva 10615 Rooks(二分图完美匹配+补边)