python+selenium 에서 웨 이 보 검색 어 를 가 져 와 Mysql 에 저장 하 는 실현 방법
3587 단어 pythonselenium마이크로 블 로그 검색mysql
잔말 이 많 지 않 으 니 직접 그림 을 그 려 라.
데이터베이스 에 날짜,내용,사이트 링크 가 포함 되 어 있 습 니 다.
어떻게 실현 되 는 지 분석 해 보 겠 습 니 다.
사용 라 이브 러 리
import requests
from selenium.webdriver import Chrome, ChromeOptions
import time
from sqlalchemy import create_engine
import pandas as pd
목표 분석이것 은 웨 이 보 검색 링크:목표 홈 페이지 에 도착 할 수 있 습 니 다.
우선 저 희 는 selenium 을 사용 하여 목표 웹 페이지 에 요청 합 니 다.
그리고 우 리 는 xpath 를 사용 하여 웹 페이지 요 소 를 포 지 셔 닝 하여 모든 데 이 터 를 얻 습 니 다.
그리고 pandas 를 사용 하여 Dataframe 쌍 상 을 만 들 고 데이터 베 이 스 를 직접 저장 합 니 다.
1.데이터 획득
xpath 를 사용 하면 51 개의 데 이 터 를 얻 을 수 있 습 니 다.이것 이 바로 각 검색 입 니 다.그 중에서 우 리 는 링크 와 제목 내용 을 얻 을 수 있 습 니 다.
all = browser.find_elements_by_xpath('//*[@id="pl_top_realtimehot"]/table/tbody/tr/td[2]/a') #
context = [i.text for i in c] #
links = [i.get_attribute('href') for i in c] # link
그리고 zip 함 수 를 사용 하여 date,context,links 를 합 칩 니 다.zip 함 수 는 몇 개의 목록 을 하나의 목록 으로 합성 하고 index 에 따라 목록 의 데 이 터 를 하나의 원 그룹 으로 합 쳐 pandas 대상 을 생산 할 수 있 습 니 다.
dc = zip(dates, context, links)
pdf = pd.DataFrame(dc, columns=['date', 'hotsearch', 'link'])
그 중 date 는 time 모듈 을 사용 하여 획득 할 수 있 습 니 다.링크 데이터베이스
이거 쉬 워 요.
enging = create_engine("mysql+pymysql://root:123456@localhost:3306/webo?charset=utf8")
pdf.to_sql(name='infromation', con=enging, if_exists="append")
총 코드
from selenium.webdriver import Chrome, ChromeOptions
import time
from sqlalchemy import create_engine
import pandas as pd
def get_data():
url = r"https://s.weibo.com/top/summary" #
option = ChromeOptions()
option.add_argument('--headless')
option.add_argument("--no-sandbox")
browser = Chrome(options=option)
browser.get(url)
all = browser.find_elements_by_xpath('//*[@id="pl_top_realtimehot"]/table/tbody/tr/td[2]/a')
context = [i.text for i in all]
links = [i.get_attribute('href') for i in all]
date = time.strftime("%Y-%m-%d-%H_%M_%S", time.localtime())
dates = []
for i in range(len(context)):
dates.append(date)
# print(len(dates),len(context),dates,context)
dc = zip(dates, context, links)
pdf = pd.DataFrame(dc, columns=['date', 'hotsearch', 'link'])
# pdf.to_sql(name=in, con=enging, if_exists="append")
return pdf
def w_mysql(pdf):
try:
enging = create_engine("mysql+pymysql://root:123456@localhost:3306/webo?charset=utf8")
pdf.to_sql(name='infromation', con=enging, if_exists="append")
except:
print(' ')
if __name__ == '__main__':
xx = get_data()
w_mysql(xx)
python+selenium 에서 웨 이 보 검색 어 를 가 져 와 Mysql 에 저장 하 는 실현 방법 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 관련 python selenium 은 웨 이 보 검색 어 를 가 져 와 Mysql 에 저장 합 니 다.우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 조회 하 세 요.앞으로 많은 응원 을 바 랍 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
로마 숫자를 정수로 또는 그 반대로 변환그 중 하나는 로마 숫자를 정수로 변환하는 함수를 만드는 것이었고 두 번째는 그 반대를 수행하는 함수를 만드는 것이었습니다. 문자만 포함합니다'I', 'V', 'X', 'L', 'C', 'D', 'M' ; 문자열이 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.