Проблема с очисткой веб-страниц при удалении с одного стола с помощью Beautifulsoup - PullRequest
0 голосов
/ 05 октября 2018
import requests
from bs4 import BeautifulSoup
page = requests.get('http://www.freejobalert.com/ap-govt-jobs/144586/')
c = page.content
soup = BeautifulSoup(c,"html5lib")
row = soup.find_all("table")[0].find_all('tr')
dict = {}
for i in row:
    for title in i.find_all('span', attrs={'style':'color: #008000;'}):
        dict['Title'] = title.text
    for link in i.find_all('a',title=True, href=True):
        dict['Link'] = link['href']
        print(dict)

Здесь я получаю пустые данные:

Я ожидаю:

{'Link': 'http://www.freejobalert.com/wp-content/uploads/2018/08/Detailed-Notification-Directorate-of-Public-Health-Family-Welfare-Vijayawada-Civil-Assistant-Surgeon-Posts.pdf', 'Title': 'Detailed Notification'}
{'Link': 'http://www.freejobalert.com/wp-content/uploads/2018/08/Notification-Directorate-of-Public-Health-Family-Welfare-Vijayawada-Civil-Assistant-Surgeon-Posts.pdf', 'Title': 'Notification '}
{'Link': 'http://cfw.ap.nic.in/', 'Title': ' Official Website'}

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

1 Ответ

0 голосов
/ 05 октября 2018

Я проверил ваш код, и он отлично работает для меня, но я изменил имя dict на some_dict, например:

import requests
from bs4 import BeautifulSoup
page = requests.get('http://www.freejobalert.com/ap-govt-jobs/144586/')
c = page.content
soup = BeautifulSoup(c,"html5lib")
row = soup.find_all("table")[0].find_all('tr')
some_dict = {}
for i in row:
    for title in i.find_all('span', attrs={'style': 'color: #008000;'}):
        some_dict['Title'] = title.text
    for link in i.find_all('a', title=True, href=True):
        some_dict['Link'] = link['href']
        print(some_dict)

Поскольку он скрывает встроенный в Python класс dict.Мой вывод:

{'Title': 'Detailed Notification', 'Link': 'http://www.freejobalert.com/wp-content/uploads/2018/08/Detailed-Notification-Directorate-of-Public-Health-Family-Welfare-Vijayawada-Civil-Assistant-Surgeon-Posts.pdf'}
{'Title': 'Notification ', 'Link': 'http://www.freejobalert.com/wp-content/uploads/2018/08/Notification-Directorate-of-Public-Health-Family-Welfare-Vijayawada-Civil-Assistant-Surgeon-Posts.pdf'}
{'Title': ' Official Website', 'Link': 'http://cfw.ap.nic.in/'}

Если вы переименуете dict во что-то еще, он будет работать?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...