当前位置: 首页 > news >正文

做cpa的网站源码网络营销的基本方法

做cpa的网站源码,网络营销的基本方法,网站建设培训班靠谱么,电商网站建设实验原理一. 内容简介 python爬取网站数据,作为后端数据 二. 软件环境 2.1vsCode 2.2Anaconda version: conda 22.9.0 2.3代码 链接: 三.主要流程 3.1 通过urllib请求网站 里面用的所有的包 ! pip install lxml ! pip install selenium ! pip install…

一. 内容简介

python爬取网站数据,作为后端数据

二. 软件环境

2.1vsCode

2.2Anaconda

version: conda 22.9.0

2.3代码

链接:

三.主要流程

3.1 通过urllib请求网站

里面用的所有的包

! pip install lxml
! pip install selenium
! pip install pyautogui

通过urllib请求网站,需要注意一个问题,需要js加载的他都会没有,
使用 urllib 或 requests 库通常无法获取完整的页面内容,因为这些库只会获取页面的初始 HTML,而不会执行 JavaScript。

import urllib.request
from lxml import etree
import json
from selenium.webdriver.common.by import By
from selenium import webdriver
import random 
import time
import pyautogui
from datetime import datetimedef urllibRequest(url):headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36'}request = urllib.request.Request(url=url, headers=headers)response = urllib.request.urlopen(request)content = response.read().decode('UTF-8')return contenturl = "https://cxcy.upln.cn/"
print(url)
content = urllibRequest(url)
print(content)

最原始的网页,什么也没有,部分网页是这样的,没办法通过urllib 或 requests来获取完整的结构。
在这里插入图片描述

3.2 通过selenium请求网站

这个是通过驱动调用浏览器去进行访问,Selenium 可以模拟真实浏览器的行为,包括执行 JavaScript 代码,从而获取完整的页面内容。代码只需要给定链接,谷歌浏览器的exe位置,和网页加载时间就可以了,不需要下载谷歌浏览器驱动。

import urllib.request
from lxml import etree
import json
from selenium.webdriver.common.by import By
from selenium import webdriver
import random 
import time
import pyautogui
from datetime import datetimedef seleniumRequest(url,chrome_path,waitTime): options = webdriver.ChromeOptions()options.add_experimental_option('excludeSwitches', ['enable-automation'])options.add_experimental_option('useAutomationExtension', False)# 谷歌浏览器exe位置options.binary_location = chrome_path# 是否要启动页面options.add_argument("--headless")  # 启用无头模式# GPU加速有时候会出bugoptions.add_argument("--disable-gpu")  # 禁用GPU加速options.add_argument("--disable-blink-features=AutomationControlled")driver = webdriver.Chrome(options=options)driver.execute_cdp_cmd('Page.addScriptToEvaluateOnNewDocument',{'source': 'Object.defineProperty(navigator, "webdriver", {get: () => undefined})'})# 启动要填写的地址,这就启动浏览器driver.get(url)# 这是关闭浏览器# 等待页面加载,可以根据实际情况调整等待时间driver.implicitly_wait(waitTime)# 获取完整页面结构full_page_content = driver.page_source# 关闭浏览器driver.quit()return full_page_content
# # 处理完整页面结构
# print(full_page_content)
url = "https://cxcy.upln.cn/"
print(url)chrome_path = r"C:\Program Files\Google\Chrome\Application\chrome.exe"
waitTime = 8
# 获取网页结构
# 通过selenium调用浏览器访问
content = seleniumRequest(url,chrome_path,waitTime)
print(content)

可以看到拿到了完整的网页结构了
在这里插入图片描述

3.2 通过request请求api,并保存json数据

import requests
import jsondef apiRequset(api_url):headers={"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36",}# 发起带有头部信息的 GET 请求response = requests.get(api_url, headers=headers)# 检查请求是否成功if response.status_code == 200:# 解析 JSON 数据data = response.json()return data
api_url = 'https://cxcy.upln.cn/provincial/match/competition/queryOngoing?_t=1699950536&year=2023&code=2&column=createTime&order=desc&field=id,&pageNo=1&pageSize=10'
data = apiRequset(api_url)
json_data = json.dumps(data, indent=4)# 将JSON数据写入文件
with open("data.json", "w") as json_file:json_file.write(json_data)

在这里插入图片描述

3.4 通过xpath获取网页结构里面的数据,并存入json

xpath语法可以自己查一下,网上有很多

import urllib.request
from lxml import etree
import json
from selenium.webdriver.common.by import By
from selenium import webdriver
import random 
import time
import pyautogui
from datetime import datetimeurl = "https://cxcy.upln.cn/"
print(url)
imgs = []
chrome_path = r"C:\Program Files\Google\Chrome\Application\chrome.exe"
waitTime = 8
# 获取网页结构
# 通过selenium调用浏览器访问
content = seleniumRequest(url,chrome_path,waitTime)
# 这是直接请求得到的html,
# slelenium会拼接字符串
# content = urllibRequest(url)# 给html变成tree用于xpath解析用
tree = etree.HTML(content)
# 改进的XPath表达式,选择你感兴趣的div元素
# 解析对应数据
bannerimgs = tree.xpath("//div[@class='img-box']//img/@src")
print(bannerimgs)
current_time = datetime.now().strftime('%Y-%m-%d %H:%M:%S')
for index, url in enumerate(bannerimgs):print(index,url)img = {#   'img_id':,'img_url':url,'prod_id':None,'seq':index+1,'status':1,'create_time':current_time,'update_time':current_time,}imgs.append(img)json_data = json.dumps(imgs, indent=4)# 将JSON数据写入文件
with open("data.json", "w") as json_file:json_file.write(json_data)
print("JSON数据已保存到文件")

在这里插入图片描述

3.4 读取json,将数据存入对应的数据库中

先下载驱动

! pip install mysql-connector-python
import json
import mysql.connector# 读取JSON文件
with open('ceshi.json', 'r') as file:data = json.load(file)# 连接到MySQL数据库
conn = mysql.connector.connect(host='localhost',port=3306,  # MySQL默认端口号user='root',password='1234',database='ceshi'
)cursor = conn.cursor()# 创建表(如果不存在的话),并清空表数据
cursor.execute('''CREATE TABLE IF NOT EXISTS your_table (id INT AUTO_INCREMENT PRIMARY KEY,name VARCHAR(255),age INT,other_field VARCHAR(255))
''')cursor.execute('TRUNCATE TABLE your_table')
# 将数据插入数据库
for item in data:cursor.execute('''INSERT INTO your_table (name, age, other_field)VALUES (%s, %s, %s)''', (item['year'], item['assessType'], item['id']))# 提交更改并关闭连接
conn.commit()
conn.close()
http://www.shuangfujiaoyu.com/news/61851.html

相关文章:

  • 公司网站建设佛山哪家好怎么做电商
  • 塘厦网站建设公司百度小程序入口官网
  • 重庆网站制作外包关键词优化的策略有哪些
  • 常州手机网站建设企业网站建设流程
  • 镇级政府可以做网站吗青岛网站优化公司哪家好
  • ui设计哪里培训机构关键词seo排名优化
  • 南阳网站建设制作今日预测足球比分预测
  • 校园网站怎么做HTML广西百度seo
  • 安阳做网站引流推广网站平台
  • 做黄金的经常看什么网站相亲网站排名前十名
  • 宁波网站关键词优化公司百度一下点击搜索
  • 百度竞价广告推广优化营商环境的金句
  • 网站优化怎么样宁波seo关键词优化报价
  • 网站美工费用seo百度关键词优化
  • 荣成信用建设官方网站高报师培训机构排名
  • 教育网站建设毕业设计说明书页面设计
  • 用asp做网站流程微信小程序开发工具
  • 网站手机自动跳转app拉新平台
  • 宇锋网站建设百度导航
  • 织梦能做视频网站吗关键词排名推广软件
  • 网站一般做多大的一键生成个人网站
  • 马鞍山网站建设百度推广官网网站
  • 建站哪家好联系兴田德润百度竞价排名算法
  • 一个服务器可以做多个网站吗2023年8月份新冠症状
  • 商务网站开发实验蔡甸seo排名公司
  • 北京市工程信息网seo网站运营
  • 做设计_素材网站有哪百度极速版下载安装最新版
  • 又拍网站怎么做楚雄今日头条新闻
  • 天津网站在哪里建设付费推广
  • 广州企业网站模板建站软文代发平台