Динамический сайт
Вообще нужно парсить новые посты на сайте, но просить об этом буду если совсем отчаюсь). Сейчас нужно хотя бы получить готовую html. Проблема в том, что испробовал много методов, но ни один не работает. Информация подгружается явой в виде json, если не ошибаюсь. Но для любого поиска, любой нумерации списка загружаются файлы с одинаковым названием и тем же адресом. В гет запросах ничего не вижу.
В общем, нужно загрузить сайт с поиском "(연재) 원작자 2021" и сохранить сгенерированный html для дальнейшей работы (этот сайт).
Код:
import webbrowser
from time import sleep
import requests
from requests import request
from bs4 import BeautifulSoup
url = 'http://seoji.nl.go.kr/landingPage/SearchList.do?wt=json&indent=on&start=0&fq=&detailSearchYn=&result_detail_txt=&facet.field=EBOOK_YN&totalCnt=&totalPages=&rows=10&page=1&cip_id=&ebook_yn=&cip_yn=&tSrch_subject=&bib_yn=&deposit_yn=&h1.preserveMulti=true&parent_facet_yn=&tSrch_title=&tSrch_author=&tSrch_publisher=&tSrch_isbn=&tSrch_control_no=&tSrch_total=(%EC%97%B0%EC%9E%AC)+%EC%9B%90%EC%9E%91%EC%9E%90+2021&tSrch_issn=&media_code=&ddc_1s=&pub_status=&acquisit_yn=&sort=&fq_select=tSrch_total&q=(%EC%97%B0%EC%9E%AC)+%EC%9B%90%EC%9E%91%EC%9E%90+2021'
headers = {
"Accept": "*/*",
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.128 Safari/537.36 OPR/75.0.3969.259"
}
response = requests.get(url, headers=headers)
src = response.text
soup = BeautifulSoup(response.text, 'lxml')
manga = soup.find(class_="searchFr")
print(soup)
Ответы (2 шт):
Попробуйте отправлять post с параметрами:
import requests
search_text = '(연재) 원작자 2021'
url = 'http://seoji.nl.go.kr/landingPage/SearchAjax.do'
headers = {'user-agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36'}
payload = {
'wt': 'json',
'indent': 'on',
'start': '0',
'fq': '',
'detailSearchYn': '',
'result_detail_txt': '',
'facet.field': 'EBOOK_YN',
'totalCnt': '',
'totalPages': '',
'rows': '10',
'page': '1',
'cip_id': '',
'ebook_yn': '',
'cip_yn': '',
'tSrch_subject': '',
'bib_yn': '',
'deposit_yn': '',
'h1.preserveMulti': 'true',
'parent_facet_yn': '',
'tSrch_title': '',
'tSrch_author': '',
'tSrch_publisher': '',
'tSrch_isbn': '',
'tSrch_control_no': '',
'tSrch_total': search_text,
'tSrch_issn': '',
'media_code': '',
'ddc_1s': '',
'pub_status': '',
'acquisit_yn': '',
'sort': '',
'fq_select': 'tSrch_total',
'q': search_text
}
r = requests.post(url, headers=headers, data=payload)
в ответе будет json, обрабатывайте как словарь:
for doc in r.json()['response']['docs']:
print(f'{doc["EA_ISBN"]} || {doc["AUTHOR"]} || {doc["TITLE"]}')
выведет:
9791191089219 || 원작자 : kiki;삽화가(그림작가) : DK; || 지금부터 황제의 마음을 빼앗겠습니다 (연재)
9791197255366 || 삽화가(그림작가) : Jiuchuan Comic;원작자 : Fengyuziran; || 입술로 막다(연재)
9791191089226 || 원작자 : 란테시아스;삽화가(그림작가) : 누구; || 이혼해주세요, 남편님!(연재)
9791197462702 || 원작자 : 코기베어;저자 : 슈퍼코믹스스튜디오;삽화가(그림작가) : 슈퍼코믹스스튜디오; || 성좌들이 나만 좋아해(연재)
9791190471183 || 원작자 : 가람달;삽화가(그림작가) : 민삼;저자 : 꿀비; || 귀신 보는 공작부인 (연재)
9791191089202 || 원작자 : 유린해;삽화가(그림작가) : 애까; || 악녀지만 여주인공이 되겠습니다(연재)
9791136914248 || 원작자 : 사열;저자 : 오기수;삽화가(그림작가) : Yerang; || 착하게 살자 (1~2부) (연재)
9791189449315 || 삽화가(그림작가) : 법생;원작자 : Yuwn; || 그녀가 악녀로 사는 이유(연재)
9791165806798 || 저자 : 키요세 유라;원작자 : 코오리아메;삽화가(그림작가) : 히다카 나미; || [연재][만화]레이디 로즈는 평민이 되고 싶어
9791191363890 || 저자 : 밤만쥬;원작자 : 프리드리히; || [만화] 악역 황녀님은 과자집에서 살고 싶어 (연재)
что бы это ни значило ;)
PS в 'rows': '10' - количество записей для выдачи, попробуйте увеличивать при необходимости
import requests
url = "http://seoji.nl.go.kr/landingPage/SearchAjax.do"
payload = "wt=json&indent=on&start=0&fq=&detailSearchYn=&result_detail_txt=&facet.field=EBOOK_YN&totalCnt=&totalPages=&rows=10&page=1&cip_id=&ebook_yn=&cip_yn=&tSrch_subject=&bib_yn=&deposit_yn=&h1.preserveMulti=true&parent_facet_yn=&tSrch_title=&tSrch_author=&tSrch_publisher=&tSrch_isbn=&tSrch_control_no=&tSrch_total=(%EC%97%B0%EC%9E%AC)+%EC%9B%90%EC%9E%91%EC%9E%90+2021&tSrch_issn=&media_code=&ddc_1s=&pub_status=&acquisit_yn=&sort=&fq_select=tSrch_total&q=(%EC%97%B0%EC%9E%AC)+%EC%9B%90%EC%9E%91%EC%9E%90+2021&subFacetField=true"
headers = {
'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36',
'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'
}
response = requests.request("POST", url, headers=headers, data=payload)
for doc in response.json()['response']['docs']:
print(f'{doc["EA_ISBN"]} || {doc["AUTHOR"]} || {doc["TITLE"]}')