지난번 포스트에 내 블로그 검색순위를 찾아보는 프로그램에 이어서
입력하는 검색어에 검색 항목의 개수와 검색되는 항목의 링크를 걸어주는 프로그램 작성법입니다.
지난번 포스트의 내용은 생략하겠으니 혹시 궁금하시면 아래 링크를 참고하세요
2020/11/30 - [분류 전체보기] - 파이썬 크롤링으로 내 블로그 검색 순위 알아보기 - ui와 실행파일 만들기
우선 UI를 만들어 보겠습니다.
저번 포스트에서 만든 UI에 "검색항목 개수"를 아래에 추가했습니다.
하이퍼링크를 달기위해 textBrowser를 사용했습니다.
for li in lis: if li.find('a')['href'] in total: break else: total.append(li.find('a')['href']) self.textBrowser.append('<a href="'+ li.find('a')['href'] + '">' + li.find('a')['href'] + '/a>') |
검색되는 항목의 링크를 리스트로 만들고 추가해서 textBrowser에 넣어 줍니다.
qtdesigner는 사용법을 검색하기가 상당히 어렵네요. 한참을 구글링 했습니다. ㅠㅠ
self.label_count.setText('검색된 항목의 개수는'+str(len(total))+'입니다') |
총 몇 개가 검색 되었는지 label에 표시해 줍니다.
막상 포스트에 기록해보니 간단한 것 같네요.
프로그래밍은 하나가 막히면 엄청 헤메기 때문에 시간이 얼마나 걸릴지 모르는 것 같아요. 프로그래밍 잘 하는 지인 한명 있었으면 좋겠네요. 물어보게요...
실행하면 위와 같이 창이 나타납니다.
키워드를 넣고 검색을 해 보면 위와같이 결과가 나옵니다.
검색된 항목의 링크도 걸었어요. pyqt를 사용해서 hyperlink를 거는 법을 검색해도 못 찾아서 한참을 고민 했네요.
어쨌든 만들어 놓으니깐 울 마눌님이 활용성이 좀 있겠다고 격려를 해 주시네요.
내 블로그 검색어를 확인해서 유리하게 변경할 수도 있고, 어떤 항목이 상위에 노출되는지 파악도 쉽네요.
제가 마케팅, 광고업계랑 거리가 멀어서 잘 모르지만, 이쪽 업계에서는 수작업으로 이런 일을 한다는 소문을 들었어요...
이걸 수작업으로 하다니... 역시 세상에는 대단하신 분들이 많은 것 같아요.
크몽에 찾아보니 이런걸 돈 받고 파시는 분들도 많은 것 같더라구요...
제건 그 정도 수준이 아니니 그냥 시원하게 모든 코드를 공개하겠습니다.
제가 헤메며 만든 코드를 복붙하심 되니 필요하신 분들 가져다 쓰세요~~~~^^
나이 40에 배운지 얼마 안 된 컴맹아저씨가 본업을 충실히 하며 틈틈히 프로그래밍을 하기란 상당히 어렵다는 점을 다시 한번 느꼈습니다.
프로그래머님들 존경스럽습니다.~~~~
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
|
from PyQt5.QtWidgets import *
from PyQt5 import uic
import sys
import requests
from bs4 import BeautifulSoup
blog_ui = '.\\blogrank.ui'
class MyWindow(QMainWindow):
def __init__(self):
QMainWindow.__init__(self, None)
uic.loadUi(blog_ui, self)
self.pushButton.clicked.connect(self.pushButtonClicked)
self.lineEdit.textChanged.connect(self.line_changed)
def line_changed(self):
self.label_end.clear()
self.label_count.clear()
self.textEdit.clear()
self.textBrowser.clear()
def pushButtonClicked(self):
url = 'https://search.naver.com/search.naver?display=10&f=&filetype=0&page=2&query='
url_a = '&research_url=&sm=tab_pge&start='
url_b = '&where=web'
myblog = 'dotsnlines.tistory.com'
keyword = self.lineEdit.text()
total = []
for No in range(0, 10):
result = requests.get(url + keyword + url_a + str(No * 10 + 1) + url_b)
bs_obj = BeautifulSoup(result.content, 'html.parser')
div = bs_obj.find('div', class_='api_subject_bx')
ul = div.find('ul')
lis = ul.find_all('li')
for num, li in enumerate(lis):
a = li.find('a')['href']
blog = a.split('/')
if blog[2] == myblog:
exist = self.textEdit.toPlainText()
self.textEdit.setText(exist + str(No * 10 + num + 1) + '번째로 검색 되었습니다' + str(a)+'\n')
for li in lis:
if li.find('a')['href'] in total:
break
else:
total.append(li.find('a')['href'])
self.textBrowser.append('<a href="'+ li.find('a')['href'] + '">' + li.find('a')['href'] + '/a>')
self.label_count.setText('검색된 항목의 개수는'+str(len(total))+'입니다')
self.label_end.setText('검색이 완료되었습니다.')
if __name__ == '__main__':
app = QApplication(sys.argv)
Dialog = MyWindow()
Dialog.show()
app.exec_()
|
cs |
'파이썬(Python) > 파이썬 개발' 카테고리의 다른 글
파이썬으로 쉽고 빠르게 빈 폴더 찾아서 폴더명 바꾸기 (4) | 2021.10.16 |
---|---|
파이썬으로 여러 폴더 빠르고 쉽게 만들기 (0) | 2021.10.14 |
파이썬 - requests를 이용해서 네이버 검색어 자동으로 사진 다운 받기 (0) | 2020.12.27 |
파이썬 - 크롤링 쉽게 시작하기 (0) | 2020.12.24 |
파이썬 크롤링 해서 내 블로그 검색 순위 알아보기 (2) | 2020.11.29 |
댓글