账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    scrapy如何获取超链接中的文字
    27
    0

    我想用scrapy爬取自己csdn上的所有博客,但是遇到置顶的这个文章就不知道怎么处理了。

    HTML代码如下。span里面有一个红色的font,这种情况下应该如何忽略这个置顶而获取链接其他部分的文字呢?

    <a href="/u011054333/article/details/49305291">
            <font color="red">[置顶]</font>
            计算机专业学生必看!各个公司的学生优惠活动            
            </a>
            
    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • ιцo單līanんメ 普通会员 1楼

      在Scrapy中,获取超链接中的文字可以通过以下步骤实现:

      1. 首先,你需要安装Scrapy和Scrapy-Link库。你可以使用pip进行安装:

      bash pip install scrapy pip install scrapy-Link

      1. 然后,你需要在你的Scrapy爬虫中编写一个函数,这个函数将遍历所有的链接,并获取每个链接中的文本。

      ```python import scrapy

      class LinkTextSpider(scrapy.Spider): name = 'link_text' allowed_domains = ['example.com'] start_urls = ['http://example.com']

      def parse(self, response):
          links = response.css('a::attr(href)').getall()
          for link in links:
              yield {'link': link, 'text': link.get('text')}
      

      ```

      在这个函数中,我们首先导入了Scrapy库,然后定义了我们的爬虫的名称、允许的URL和开始的URL。然后,我们定义了一个名为parse的函数,这个函数将遍历所有的链接,并获取每个链接中的文本。

      parse函数中,我们使用CSS选择器'a::attr(href)'来获取所有的链接,然后使用getall方法来获取所有的链接。然后,我们遍历所有的链接,并使用yield语句来生成每个链接的字典,字典的键是链接的URL,值是链接的文本。

      注意:这个函数只能获取到链接的文本,如果你需要获取到链接的href,你需要在CSS选择器中使用'a::attr(href)'::attr(href)'的组合。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部