大学关系很好的老师想获取新闻中带“气候变化”关键词的新闻个数,用于论文写作。在空余时间研究了一下,解决了许多小bug后终于实现啦。具体的实施步骤是:明确爬取目标网站——明确爬取关键词——单页新闻标题获取——批量新闻标题获取——把新闻标题存到list中统计数量。本文以北京的千龙网为例进行说明,希望代码能帮到更多有需要的小伙伴。
一、导入库
首先导入需要用到的库,具体如下:
import time
import random
from captcha import *
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support import wait
from selenium.webdriver.common.keys import Keys
from selenium.common.exceptions import NoSuchElementException
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.ui import WebDriverWait
from webdriver_manager.chrome import ChromeDriverManager
from selenium.common.exceptions import NoSuchElementException
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.support import expected_conditions as EC
如有未安装库的小伙伴,自行百度安装一下。
二、定义爬取的目标网站和关键词
应用selenium进行数据爬取时,最头疼的是很多时候都会提示Chrome版本不匹配报错,需要重新下载对应版本。本文应用代码直接安装Chrome,可以避免上述情况。接着登录北京的千龙网,输入关键词进行查询,具体代码如下:
browser