我只想爬取一个网页中的部分超链接,但是我现在只会爬取所有的超链接,如何实现只爬取我想要的部分超链接?
你既然可以获取到所有链接,加个限制就可以获得值定区域的链接,右键点击复制,选你使用的选择器复制,在将复制的内容放入你代码的选择器就可以爬取你值定区域的链接。如果你是用正则那么就继续用正则根据指定区域的特殊节点来匹配指定区域的内容就好了
用xpath或者bs选择要爬的区域
麻烦提供一下网址
只会爬取所有的超链接,如何实现只爬取我想要的部分超链接??
你是咋爬取的所有的啊?
那你在以前的基础上加上限制条件,比如class属性,他们的父组件之类的进行限制
提供一下网址
你如果是用selenium
比如要获取id是abc元素内的所有a元素是
a = driver.find_elements_by_css_selector("#abc a")
你如果是用 BeautifulSoup
soup=BeautifulSoup(html,'lxml')
a=soup.select('#abc a')
可以用bs4 来选择需要获取的dom节点,然后再获取里面的超链接。
也可以用lxml里面的xpath语法,来达到同样的效果。
还很有其他很多库可以使用,这里就不一一列举了。
正则
如果你想获取单个链接可以试下xpath选取对应标签class、id下面的具体标签,获取到之后在根据索引或者切片试试规律,在爬取你想要的单个链接。
如果选取的单个链接多个不同网页,可以回调下url在利用for循环进行遍历xpath与我上面说的一样去操作试试。
添加到具体的属性下面的语法链接,或者直接使用正则去提取