Как получить ссылки на работу и ссылку для перехода на следующую страницу с действительно - PullRequest
0 голосов
/ 24 мая 2019

Я написал программу, которая получает название должности, компанию, местоположение, зарплату и описание со страницы рабочих мест на Python во Флориде. У меня возникают проблемы с получением рабочих ссылок и с тем, как использовать ссылку на следующую страницу, чтобы перейти на следующую страницу результатов.

Я пробовал по-разному использовать теги с веб-страницы, учебные пособия и другие подобные решения, но ни один из них не работает с моим кодом. Код, который я написал внизу для ссылки на следующую страницу, не возвращает никаких ошибок, но не дает никакого вывода.

from bs4 import BeautifulSoup
import requests

url = 'https://www.indeed.com/jobs?q=python+developer&l=Florida&explvl=entry_level&sort=date'

while True:
    response = requests.get(url)
    data = response.text
    soup = BeautifulSoup(data, 'html.parser')    
    jobs = soup.find_all(attrs={"data-tn-component": "organicJob"})        
    number = 0

    for job in jobs:
        number += 1

        title = job.find("div",{"class":"title"})
        print(number,". ", "\nTitle:", title.text.strip())

        company = job.find("span",{"class":"company"})
        print("Company:", company.text.strip())

        location = job.find("span",{"class": "location"})
        print("Location:", location.text.strip())

        salary = job.find("div",{"class": "salarySnippet"})
        if salary in job:
            print("Salary:", salary.text.strip())
        else:
            print("Salary:", None)

        summary= job.find("div",{"class":"summary"})
        print("Summary:", summary.text.strip())

        link = [a['href'] for a in job.find_all('a', href=True) if a.text]
        print("link:",link)

        #link = job.find("a", attrs = {"class":"jobtitleturnstileLink"}).get("href")
        #print("Job link:", link) 
        print()
        print()

    url_tag = soup.find("span", {"class":"np"})
    if url_tag.get("href"):
        url = 'https://www.indeed.com/jobs?q=python+developer' + url_tag.get("href")
        print("Next page:",url)
    else:
        break

Комментированные строки ссылок дали мне такую ​​же выходную ссылку:

['/rc/clk?jk=441b435e5b088904&fccid=194a64c267cc7ab6&vjs=3', '/cmp/Foreground-Security', '/cmp/Foreground-Security/reviews', '#', '#', '/q-Foreground-Security-l-Melbourne,-FL-jobs.html', '/l-Melbourne,-FL-jobs.html', '/salaries/Test-Engineer-Salaries,-Melbourne-FL', '/cmp/Foreground-Security', '/forum/cmp/Foreground-Security.html', '/forum/loc/Melbourne-Florida.html']

Это то, что ссылка в настоящее время получает как ссылка:

/rc/clk?jk=441b435e5b088904&fccid=194a64c267cc7ab6&vjs=3
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...