如何用python的selenium提取页面所有资源加载的链接

如何用python的selenium提取页面所有资源加载的链接,第1张

最近需要写一个爬虫,逻辑上有一个环节是取得一个页面的所有资源加载链接(html5页面)

(ps:python下的确是是有个第三方包叫Ghostpy可以取得,但是尝试后效果并不好,估计是因为Ghostpy的webkit对html5的支持并不好。)

选择用selenium,但是没找到selenium的webdriver下取得所有资源加载链接的方法。

selenium包下有一个selenium模块。查看源码时看到有个get_all_links方法。但是一直没找到这个模块的用法。

最后,求解答。谢谢大家。

方法不成的话,就自己do

it把:

all_links

=

browserfind_element_by_xpath('//a')

for

a

in

all_links:

agetAttribute('href')

正则的话

import re

html = "<a href='xxxxxx' title='xxxxxxxxx'>sample text1</a>abcdef<a href='xxxxxx' title='xxxxxxxxx'>sample text2</a>"

result = map(lambda name: resub("<a href=>","",namestrip()replace("</a>","")), refindall("<a href=></a>",html))

print result

上面代码会把所有a tag里的东西存在result这个list里面。另外python有个模块叫Beautiful Soup,专门用来处理html的,你有空可以看下

一、爬取我们所需要的一线链接

channel_extractpy

这里的一线链接也就是我们所说的大类链接:

from bs4 import BeautifulSoupimport requests

start_url = '>

上面的反斜杠是字符串中的转义,为什么要去掉?去掉后应该会让url变成无效的吧。

一般使用BeautifulSoup解析网页。创建BeautifuleSoup对象之后,直接取属性就可以。

用select('ul 的 css 路径')find_all()

css路径直接用浏览器开发视图,从ul复制就好,当然也可以把前面多余的部分删掉

来自: >

如果是在百度中搜索关键词,可以通过xpath语句 //div[@id="page"]/a/@href直接获取前10页链接,把这些链接放一个列表中,只取前5个值即可。也可以研究url的规律,一般url中含有页码参数,通过修改参数就可以了。希望能够帮助到你,望采纳

以上就是关于如何用python的selenium提取页面所有资源加载的链接全部的内容,包括:如何用python的selenium提取页面所有资源加载的链接、python怎样使用正则表达式获得html标签数据、python可以爬取什么数据等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/10085515.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存