最近需要写一个爬虫,逻辑上有一个环节是取得一个页面的所有资源加载链接(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可以爬取什么数据等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)