爬虫基础4.1|Python学习笔记

回顾selenium(自动化测试工具)
  • 应用场景:用代码的方式去模拟浏览器操作过程(如:打开浏览器、在输入框里输入文字、回车等),在爬虫方面很有必要
  • 高级-查找元素:介于打开页面和关闭页面之间,与爬虫常见的HTML页面解析、定位到具体的某个元素类似,区别在于调用者是driver
  • 高级-页面交互:找到元素后,进行“交互”,如键盘输入(需提前导入模块)
  • 高级-等待页面加载(wait):
  1. 应用场景:含有ajax加载的page。在这种情况下,页面内的某个节点不是在一开始就出现,不能“查找元素”,元素选择不到,就不能进行交互操作。等待页面加载这两个模块经常是一起导入的
  2. 显示等待:触发某个条件后才能够执行后续的代码
  3. 隐示等待:设置某个具体的等待时间
爬取新闻热点精选
import time
from  selenium import webdriver
driver=webdriver.Chrome(executable_path=".\chromedriver.exe")
driver.get("https://news.*.com")
for i in range(1,100):
    time.sleep(2)
    driver.execute_script("window.scrollTo(window.scrollX, %d);"%(i*200))
from bs4 import BeautifulSoup
html=driver.page_source
bsObj=BeautifulSoup(html,"lxml")
jxtits=bsObj.find_all("div",{"class":"jx-tit"})[0].find_next_sibling().find_all("li")
print("index",",","title",",","url")
for i,jxtit in enumerate(jxtits):
#     print(jxtit)
    
    try:
        text=jxtit.find_all("img")[0]["alt"]
    except:
        text=jxtit.find_all("div",{"class":"lazyload-placeholder"})[0].text
    try:
        url=jxtit.find_all("a")[0]["href"]
    except:
        print(jxtit)
    print(i+1,",",text,",",url) 

index , title , url
...
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值