python+selenium 에서 웨 이 보 검색 어 를 가 져 와 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 에 저장 합 니 다.우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 조회 하 세 요.앞으로 많은 응원 을 바 랍 니 다!

좋은 웹페이지 즐겨찾기