selenuim+requests+re(数据挖掘)

  • selenuim获取cookie信息:
    • 可解决验证码登陆,弹窗等问题
  • requests携带cookie信息:
    • 访问超链接获取html
  • 正则匹配页面信息
    • 挖掘所需信息
from selenium import webdriver
import requests
import time


"""
使用cookie进行模拟登录
1、首先使用selenium模拟浏览器登录网站
2、获取cookie信息
3、保存cookie信息放到requests请求中
"""
driver = webdriver.Chrome()
driver.get("http://www.gc-zb.com/")
#此处("username")和("userpwd")为网页抓取的id关键字,具体页面具体抓取
driver.find_element_by_id("username").send_keys("用户名")
driver.find_element_by_id("userpwd").send_keys("密码")
pop_windows = driver.find_element_by_xpath("//div[@class='close']").get_attribute("title")

if pop_windows:
    driver.find_element_by_class_name("close").click()
time.sleep(1)
driver.find_element_by_class_name("submit").click()
time.sleep(3)

# 登录抓取的url地址,具体页面需要手动抓取
url =  'http://www.gc-zb.com/login/checklogin.html'

# 获取cookie信息
cookie_info = driver.get_cookies()       # 列表中包含多个字典
cookie_dict = {i["name"]:i["value"] for i in cookie_info}  #字典推导式

headers = {"User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36"}

# 获取其他页面响应,并且解码成str,使用正则获取响应中的字符串
url1 = 'http://www.gc-zb.com/read-131398224.html'
response = requests.get(url1, headers=headers,cookies=cookie_dict)

with open("yy.html","w",encoding="utf-8") as f:
    f.write(response.content.decode())

driver.quit()
print(re.findall('招标人:长春发展农村商业银行股份有限公司',response.content.decode()))

yy_html文件:
在这里插入图片描述
打印结果:
在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值