详解用python实现爬取CSDN热门评论URL并存入redis
作者:Rex~ 发布时间:2022-08-30 00:11:35
标签:python,爬取,URL
一、配置webdriver
下载谷歌浏览器驱动,并配置好
import time
import random
from PIL import Image
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
if __name__ == '__main__':
options = webdriver.ChromeOptions()
options.binary_location = r'C:\Users\hhh\AppData\Local\Google\Chrome\Application\谷歌浏览器.exe'
# driver=webdriver.Chrome(executable_path=r'D:\360Chrome\chromedriver\chromedriver.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)
二、获取URL
from bs4 import BeautifulSoup
from 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_herf
title = html.xpath('//*[@id="feedlist_id"]/li/div/div/h2/a/@href')
可以看到,一下爬取了很多,速度非常快
三、写入Redis
导入redis包后,配置redis端口和redis数据库,用rpush函数写入
打开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)
大功告成!
在Redis Desktop Manager中可以看到,爬取和写入都是非常的快。
要使用只需用rpop出栈就OK
one_url = r_link.rpop("csdn_url)")
while one_url:
print("{}被弹出!".format(one_url))
来源:https://blog.csdn.net/Rex__404/article/details/115366167


猜你喜欢
- 目录表示时间的方式1. 调用语法:2. time概述3. 时间获取4. 时间格式化(将时间以合理的方式展示出来)5. 程序计时应用6. 示例
- 本文实例讲述了python实现从网络下载文件并获得文件大小及类型的方法。分享给大家供大家参考。具体实现方法如下:import urllib2
- window.close(); 关闭浏览器窗口js代码的总结介绍序号关闭代码需要确认无任何作用无需确认测试1window.close()IE
- 1、前言最近看了一些同学的面经,发现无论什么技术岗位,还是会问到 get 和 post 的区别,而搜索出来的答案并不能让我们装得一手好逼,那
- reduce()函数也是Python内置的一个高阶函数。reduce()格式:reduce (func, seq[, init()])red
- PyGame是一个Python的库,能够让你更容易的写出一个游戏。它提供的功能包括图片处理和声音重放的功能,并且它们能很容易的整合进你的游戏
- Sqlserver 获取每组中的第一条记录在日常生活方面,我们经常需要记录一些操作,类似于日志的操作,最后的记录才是有效数据,而且可能它们属
- 记录了Windows安装python3.7的详细过程,供大家参考,具体内容如下1. 在python的官网下载python对应版本:官网地址6
- 引子: 今天看到别人的一个题目: function fn(x){ x = 10; arguments[0] = 20; console.lo
- 本文实例讲述了GO语言筛选法求100以内的素数。分享给大家供大家参考。具体实现方法如下:思路:找出一个非素数就把它挖掉,最后剩下就是素数。下
- 彩色图像转换为灰度图像第一种方式通过 imread 读取图像的时候直接设置参数为 0 ,自动转换彩色图像为灰度图像第二种方式,可以通过 sp
- ⛳️ 实战场景本篇博客为大家再次带来 Go 语言的基础知识,这次要学习的内容是 Go 中的文件操作。打开关闭文件在 Go 中操作文件,首先要
- 用python做一个简单的随机点名程序(不重复点名)这是我来到csdn的第一篇文章,内容如果有瑕疵的地方或者代码可以进一步改善,请大家对我指
- 图像噪声是指存在于图像数据中的不必要的或多余的干扰信息。在噪声的概念中,通常采用信噪比(Signal-Noise Rate, S
- 一、python-yml文件读写使用库 :import yaml安装:pip install pyyaml示例:文件config2.ymlg
- 记得有一期ucdchina书友会里面,聊过一次大家的工作习惯问题,现在回想起来很有意思,特整理这篇文章分享给大家。关于photoshop1
- 前言:大部分的文件上传功能都是用input标签实现,这样就完全可以把它看作一个输入框,可以通过send_keys()指定文件进行上传了。本章
- 一、CAN报文简介CAN是控制器局域网络(Controller Area Network, CAN)的简称,是由以研发和生产汽车电子产品著称
- 准备工具pip3 install PILpip3 install opencv-pythonpip3 install numpy谷歌驱动建议
- 我在Web服务器端安装了Web Server IIS4.0、Oracle Net8 for Client,并创建好了和Oracle8数据库的