Мой код сканирования не печатает никаких результатов - PullRequest
0 голосов
/ 29 марта 2020

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

import requests
from bs4 import BeautifulSoup
import telegram

url = 'http://www.thelec.kr/news/articleList.html?page=1&total=3836&box_idxno=&view_type=sm'
req = requests.get(url)
html = req.text
soup = BeautifulSoup(html, 'html.parser')

search_result = soup.select_one('#user-container')
news_list = search_result.select('.article-veiw-body > .article-list > .article-list-content > .list-block > .list-titles >a')

contents = []
for news in news_list:
    link = news['href']
    title = news.text
    contents.append("http://www.thelec.kr"+link + " " + title)

contents

Я изменил только URL-адрес и тег, например:

import requests
from bs4 import BeautifulSoup
import telegram

url = 'https://news.daum.net/breakingnews/digital'
req = requests.get(url)
html = req.text
soup = BeautifulSoup(html, 'html.parser')

search_result = soup.select_one('#kakaoContent')
news_list = search_result.select('.box_etc > .cMain > .mArticle > .box_etc > .list_news2 > .cont_thumb > a')

links = []
for news in news_list:
    link = news['href']
    links.append(link)

links

Внезапно, в результате получается '[]'. Пустой. Я тоже пробовал на другом сайте, но результат тот же, пустой. Я не понимаю Оба выглядят точно так же. Почему один работает, а другой не работает?

Ответы [ 2 ]

0 голосов
/ 29 марта 2020

Ваш текущий второй селектор не работает на странице для меня. Если вы хотите получить ссылки на статьи слева, вам нужно изменить селектор css. Например, быстрее и точнее

.list_news2 .tit_thumb >  a
0 голосов
/ 29 марта 2020

Ваш селектор слишком узок. Попробуйте:

soup.select('#kakaoContent .box_etc .list_news2 .cont_thumb a')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...