【问题标题】:Scraping with Rvest: Links are not picked up with html_attr('href')使用 Rvest 抓取:使用 html_attr('href') 不会拾取链接
【发布时间】:2020-03-31 20:27:33
【问题描述】:

我正在尝试使用网站上的一些特定过滤器来抓取丹麦的职位发布档案。当我尝试抓取所有标题及其链接时,我可以获取标题但不能获取链接。我尝试了不同的选择器,但没有任何链接。 CSS 选择器 ".jix_job_archived > a b , #result_list_box strong" 选择所有标题。 对于提供的网站,第一个链接应该是:https://www.jobindex.dk/c?t=r8830962&ctx=w

我已经包含了一张网站图片,我想在其中抓取屏幕右侧标记的“href”。

library(rvest)
library(tibble)
    sel<- ".jix_job_archived > a b , #result_list_box strong" 
    jobindex <- "https://www.jobindex.dk/jobsoegning/kontor/offentlig?jobage=archive&maxdate=20200330&mindate=19901230"

    tbl <- tibble(text = pg 
    %>% html_nodes(css = sel) %>% 
    html_text(), link = pg %>% html_nodes(css = sel) %>% html_attr('href'))
    view(tbl)

**# A tibble: 20 x 2
   text                                                                                                link 
   <chr>                                                                                               <chr>
 1 Administrativ medarbejder/sekretær til stabsfunktion                                                NA   
 2 Meeqqeriviup_igaffia_inuussutissanut_ikiortimik_pissarsiorpoq                                       NA   ** 

【问题讨论】:

    标签: r web-scraping rvest


    【解决方案1】:

    链接位于&lt;strong&gt; 标记之外。因此,如果您提供 html_nodes 和选择器 ".jix_job_archived &gt; a b , #result_list_box strong",则不会拾取任何链接。

    这可能会有所帮助。

    library(rvest)
    library(tibble)
    
    jobindex <- "https://www.jobindex.dk/jobsoegning/kontor/offentlig?jobage=archive&maxdate=20200330&mindate=19901230"
    
    jobnodes <- jobindex %>%
      read_html %>%
      html_nodes(".jobsearch-result") 
    
    text <- jobnodes %>% html_text %>% trimws() %>% sub("(.*?)\\n.*","\\1",.)
    link1 <- jobnodes %>% html_node("a") %>% html_attr("data-click")
    link2 <- jobnodes %>% html_node("a") %>% html_attr("href")
    
    tbl <- tibble(text = text, link1 = link1,  link2 = link2)
    

    输出

    tbl
    
    # # A tibble: 20 x 3
    #    text                                              link1             link2                                                              
    #    <chr>                                             <chr>             <chr>                                                              
    #  1 Administrativ medarbejder/sekretær til stabsfunk… /c?t=r8830962&ct… http://www.profiljob.dk/resultat/administrativ-medarbejdersekretae…
    #  2 Meeqqeriviup_igaffia_inuussutissanut_ikiortimik_… /c?t=r8831043&ct… https://www.qeqqata.gl/Ledig_stillinger/2020/04/Meeqqeriviup_igaff…
    #  3 Borgerrådgiver                                    /c?t=r8828448&ct… https://favrskov.dk/sites/default/files/borgerraadgiver_enkeltside…
    #  4 Kombineret stilling som forebyggelseskonsulent o… /c?t=r8828382&ct… https://www.qeqqata.gl/Ledig_stillinger/2020/04/Forebyggelseskonsu…
    #  5 Stilling som koordinerende sagsbehandler for ung… /c?t=h972855&ctx… http://www.solrod.dk/                                              
    #  6 Sagsbehandler til jobafklarings- og ressourcefor… /c?t=h972838&ctx… http://www.solrod.dk/                                              
    #  7 2-3 skolesekretærer søges til landsbyordningerne… /c?t=r8827011&ct… https://www.skolejobs.dk/stilling/landsbyordningerne-i-odder-kommu…
    #  8 Overassistent i Vejledning ved Majoriaq i Sisimi… /c?t=r8825989&ct… https://www.qeqqata.gl/Ledig_stillinger/2020/03/Overassistent_vejl…
    #  9 Generalist                                        /c?t=r8824808&ct… https://naalakkersuisut.emply.net/recruitment/vacancyAd.aspx?publi…
    # 10 Administrativ medarbejder til Små og mellemstore… /c?t=h972425&ctx… https://www.sktst.dk/                                              
    # 11 Akademiker til Stab og Udviklingsopgaver          /c?t=r8824111&ct… https://www.ofir.dk/resultat/akademiker-til-stab-og-udviklingsopga…
    # 12 2 dygtige og motiverede administrative medarbejd… /c?t=h972318&ctx… https://phabsalon.dk/                                              
    # 13 Tjenestefordeler – Trafikstyring Øst              /c?t=h972077&ctx… http://www.banedanmark.dk/                                         
    # 14 Planlægningskonsulent søges til Psykiatrien       /c?t=r8821953&ct… https://rm.emply.net/recruitment/vacancyAd.aspx?publishingId=a81f5…
    # 15 Fundraiser                                        /c?t=r8821594&ct… https://www.jobindex.dk/jobannonce/jobnet/8821594                  
    # 16 Projektleder i Borgmesterens Afdeling som vil ta… /c?t=r8820419&ct… https://www.jobindex.dk/jobannonce/jobnet/8820419                  
    # 17 Administrativ medarbejder til Borger- og retssik… /c?t=h971668&ctx… https://candidate.hr-manager.net/ApplicationInit.aspx?cid=5001&Pro…
    # 18 Kollega til Myndighed Handicap- og psykiatriafde… /c?t=r8818554&ct… https://www.ofir.dk/resultat/kollega-til-myndighed-handicap-og-psy…
    # 19 Energiplanlægger søges til By, Kultur og Miljøse… /c?t=r8818534&ct… https://www.ofir.dk/resultat/energiplanlaegger-soeges-til-by-kultu…
    # 20 Akademisk medarbejder til Regionspsykiatrien Ran… /c?t=r8819996&ct… https://www.ofir.dk/resultat/akademisk-medarbejder-til-regionspsyk…
    

    【讨论】:

    • 链接错误。正如你在图片上看到的,我想收到文章的 href。它应该看起来像 jobindex.dk/c?t=r8830962&ctx=w 或只是 /c?t=r8830962&ctx=w
    • 没错。 href 并不总是类似于 jobindex.dk*****。您可以查看页面源代码,“Meeqqeriviup_igaffia_inuussutissanut_ikiortimik_pissarsiorpoq”,即&lt;a data-click="/c?t=r8831043&amp;amp;ctx=w" href="https://www.qeqqata.gl/Ledig_stillinger/2020/04/Meeqqeriviup_igaffia_inuussutissanut_ikiortimik_pissarsiorpoq?sc_lang=da" rel="noopener" target="_blank"&gt; &lt;strong&gt;Meeqqeriviup_igaffia_inuussutissanut_ikiortimik_pissarsiorpoq&lt;/strong&gt; &lt;/a&gt;
    • 答案已更新。我选择了data-click(来自href)来满足您的需求。
    • 虽然我只得到 20 个中的 14 个。有没有办法解决这个问题。如果您以“Stilling som koordinerende sagsbehandler for unge i ressourceforløb”为例,则不包括在内。
    • 快点!看起来有两种类型的职位发布(可能是正规的和有偿的)。您会注意到,任何付费职位发布(带有“快速申请”按钮的职位)都不会被拾取,因为它们使用了不同的 css 选择器。
    猜你喜欢
    • 2017-09-13
    • 1970-01-01
    • 2019-01-19
    • 1970-01-01
    • 2023-03-12
    • 1970-01-01
    • 1970-01-01
    • 2021-09-04
    • 1970-01-01
    相关资源
    最近更新 更多