Téléchargez le pilote Google Chrome et configurez-le
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)
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')
Vous pouvez voir que beaucoup de choses ont été explorées en même temps et la vitesse est très rapide
Après avoir importé le package Redis ,Configurez le port Redis et la base de données Redis,Utilisez la fonction rpush pour écrire
Ouvrez redis
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)
Vous peut voir dans Redis Desktop Manager que l'exploration et l'écriture sont très rapides.
Pour l'utiliser, utilisez simplement rpop pour le faire apparaître
one_url = r_link.rpop("csdn_url)")while one_url:print("{}被弹出!".format(one_url))
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!