Rumah >pangkalan data >Redis >Cara menggunakan python untuk merangkak URL komen popular CSDN dan menyimpannya dalam redis
Muat turun pemacu Google Chrome, dan konfigurasikannya
import timeimport randomfrom PIL import Imagefrom selenium import webdriverfrom selenium.webdriver.common.by import Byfrom selenium.webdriver.support.ui import WebDriverWaitfrom selenium.webdriver.support import expected_conditions as ECif __name__ == '__main__':options = webdriver.ChromeOptions()options.binary_location = r'C:UsershhhAppDataLocalGoogleChromeApplication谷歌浏览器.exe'# driver=webdriver.Chrome(executable_path=r'D:360Chromechromedriverchromedriver.exe')driver = webdriver.Chrome(options=options)#以java模块为例driver.get('https://www.csdn.net/nav/java')for i in range(1,20):driver.execute_script("window.scrollTo(0, document.body.scrollHeight)")time.sleep(2)
3 Tulis kepada Redis
from bs4 import BeautifulSoupfrom lxml import etree html = etree.HTML(driver.page_source)# soup = BeautifulSoup(html, 'lxml')# soup_herf=soup.find_all("#feedlist_id > li:nth-child(1) > div > div > h2 > a")# soup_herftitle = html.xpath('//*[@id="feedlist_id"]/li/div/div/h2/a/@href')
Selesai!
Untuk menggunakannya, hanya gunakan rpop untuk mengeluarkannya
import redis r_link = redis.Redis(port='6379', host='localhost', decode_responses=True, db=1)for u in title:print("准备写入{}".format(u))r_link.rpush("csdn_url", u)print("{}写入成功!".format(u))print('=' * 30, 'n', "共计写入url:{}个".format(len(title)), 'n', '=' * 30)
Atas ialah kandungan terperinci Cara menggunakan python untuk merangkak URL komen popular CSDN dan menyimpannya dalam redis. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!