python爬蟲和用騰訊云API接口進行翻譯并存入excel,通過本機的Windows任務計劃程序定時運行Python腳本!

項目場景:

提示:這里簡述項目相關背景:定時爬取外網的某個頁面,并將需要的部分翻譯為中文存入excel

接下了的,沒學過的最好看一下

基本爬蟲的學習

【爬蟲】requests 結合 BeautifulSoup抓取網頁數據_requests beautifulsoup 在界面中選取要抓取的元素-CSDN博客

問題描述 一:

提示:這里描述項目中遇到的問題:

基本爬蟲的學習的例子為例,換到你自己想要的url?運行不了?

?原因分析 一:

程序使用一段時間后會遇到HTTP Error 403: Forbidden錯誤。 因為在短時間內直接使用Get獲取大量數據,會被服務器認為在對它進行攻擊,所以拒絕我們的請求,自動把電腦IP封了。?

?解決方案?一:

我就不細講了,看懂別人的就行:

python 爬蟲禁止訪問解決方法(403)_爬蟲加了請求頭還是403錯誤-CSDN博客

? 我的是這樣的

import random
import timeimport requests
from bs4 import BeautifulSoupurl = "https://pubmed.ncbi.nlm.nih.gov/"# List of user-agent strings
my_headers = ["Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36","Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.153 Safari/537.36","Mozilla/5.0 (Windows NT 6.1; WOW64; rv:30.0) Gecko/20100101 Firefox/30.0","Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_2) AppleWebKit/537.75.14 (KHTML, like Gecko) Version/7.0.3 Safari/537.75.14","Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; Win64; x64; Trident/6.0)",'Mozilla/5.0 (Windows; U; Windows NT 5.1; it; rv:1.8.1.11) Gecko/20071127 Firefox/2.0.0.11','Opera/9.25 (Windows NT 5.1; U; en)','Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)','Mozilla/5.0 (compatible; Konqueror/3.5; Linux) KHTML/3.5.5 (like Gecko) (Kubuntu)','Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.12) Gecko/20070731 Ubuntu/dapper-security Firefox/1.5.0.12','Lynx/2.8.5rel.1 libwww-FM/2.14 SSL-MM/1.4.1 GNUTLS/1.2.9',"Mozilla/5.0 (X11; Linux i686) AppleWebKit/535.7 (KHTML, like Gecko) Ubuntu/11.04 Chromium/16.0.912.77 Chrome/16.0.912.77 Safari/535.7","Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:10.0) Gecko/20100101 Firefox/10.0"
]try:with requests.Session() as session:t = 0.1time.sleep(t)# 隨機從列表中選擇IP、Header#proxy = random.choice(proxy_list)header = random.choice(my_headers)headers = {"User-Agent": header}response = session.get(url, headers=headers)response.raise_for_status()  # Raises HTTPError for bad responsesprint(f"Response status using {header}: {response.status_code}")#print(response.content)  # 打印網頁內容# 使用BeautifulSoup解析HTML內容soup = BeautifulSoup(response.content, 'html.parser')# Extract information from each 'li' element within 'items-list'paper_items = soup.select('ul.items-list li.full-docsum')for item in paper_items:paper_link = item.find('a')['href']  # Extract href attribute from <a> tagpaper_title = item.find('a').text.strip()  # Extract text from <a> tagprint(f"論文標題: {paper_title}")print(f"鏈接: {url}{paper_link}")print()# for header in my_headers:#     headers = {"User-Agent": header}#     response = session.get(url, headers=headers)#     response.raise_for_status()  # Raises HTTPError for bad responses#     print(f"Response status using {header}: {response.status_code}")except requests.exceptions.HTTPError as errh:print(f"HTTP error occurred: {errh}")
except requests.exceptions.RequestException as err:print(f"Request error occurred: {err}")

問題描述 二:

使用python自帶的translate 超多問題,又慢又多個單詞組成的翻譯不準確,且不到10次就崩了,

?解決方案? 二:

東西給家人們找好了,就學吧

【筆記】Python3|(一)用 Python 翻譯文本的教程、代碼與測試結果(第三方庫 translate 和 騰訊 API 篇)_python調用有道翻譯-CSDN博客

python實現調用騰訊云翻譯API_騰訊翻譯api怎么獲取-CSDN博客

怎么存入ecxel? 可以讓 Al (gpt)幫你寫

?上面實現 完整代碼

寫自己的騰訊云?SecretId 和 SecretKey 還有 url???

其中 從頁面要獲取的html源代碼 放到Al (gtp)? 讓他幫你修改代碼就行? ?不要直接用我的??

from tencentcloud.common import credential
from tencentcloud.common.profile.client_profile import ClientProfile
from tencentcloud.common.profile.http_profile import HttpProfile
from tencentcloud.common.exception.tencent_cloud_sdk_exception import TencentCloudSDKException
from tencentcloud.tmt.v20180321 import tmt_client, modelsSecretId = "xxxxxxxxxxxxxxxxxxxxxxxxxx"
SecretKey = "xxxxxxxxxxxxxxxxxxxxxxxxx"import random
import time
import pandas as pd
from requests.exceptions import RequestException
import requests
from bs4 import BeautifulSoup
from openpyxl import Workbookurl = "https://pubmed.ncbi.nlm.nih.gov/"
my_headers = ["Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36","Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.153 Safari/537.36","Mozilla/5.0 (Windows NT 6.1; WOW64; rv:30.0) Gecko/20100101 Firefox/30.0","Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_2) AppleWebKit/537.75.14 (KHTML, like Gecko) Version/7.0.3 Safari/537.75.14","Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; Win64; x64; Trident/6.0)",'Mozilla/5.0 (Windows; U; Windows NT 5.1; it; rv:1.8.1.11) Gecko/20071127 Firefox/2.0.0.11','Opera/9.25 (Windows NT 5.1; U; en)','Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)','Mozilla/5.0 (compatible; Konqueror/3.5; Linux) KHTML/3.5.5 (like Gecko) (Kubuntu)','Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.12) Gecko/20070731 Ubuntu/dapper-security Firefox/1.5.0.12','Lynx/2.8.5rel.1 libwww-FM/2.14 SSL-MM/1.4.1 GNUTLS/1.2.9',"Mozilla/5.0 (X11; Linux i686) AppleWebKit/535.7 (KHTML, like Gecko) Ubuntu/11.04 Chromium/16.0.912.77 Chrome/16.0.912.77 Safari/535.7","Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:10.0) Gecko/20100101 Firefox/10.0"
]class Translator:def __init__(self, from_lang, to_lang):self.from_lang = from_langself.to_lang = to_langdef translate(self, text):try:cred = credential.Credential(SecretId, SecretKey)httpProfile = HttpProfile()httpProfile.endpoint = "tmt.tencentcloudapi.com"clientProfile = ClientProfile()clientProfile.httpProfile = httpProfileclient = tmt_client.TmtClient(cred, "ap-beijing", clientProfile)req = models.TextTranslateRequest()req.SourceText = textreq.Source = self.from_langreq.Target = self.to_langreq.ProjectId = 0resp = client.TextTranslate(req)return resp.TargetTextexcept TencentCloudSDKException as err:return errdef fetch_and_translate_papers(url, headers):try:with requests.Session() as session:t = 0.1time.sleep(t)translator = Translator(from_lang="en", to_lang="zh")header = random.choice(headers)headers = {"User-Agent": header}response = session.get(url, headers=headers)response.raise_for_status()print(f"Response status using {header}: {response.status_code}")soup = BeautifulSoup(response.content, 'html.parser')# Prepare data to store in DataFramedata = []paper_items = soup.select('ul.items-list li.full-docsum')for item in paper_items:paper_link = item.find('a')['href']  # Extract href attribute from <a> tagpaper_title = item.find('a').text.strip()  # Extract text from <a> tagchinese_paper_title = translator.translate(paper_title)print(f"Paper Title: {paper_title}")print(f"論文標題: {chinese_paper_title}")print(f"鏈接: {url}{paper_link}")print()data.append({'Paper Title': paper_title,'論文標題': chinese_paper_title,'鏈接': f"{url}{paper_link}",})# Create a DataFramedf = pd.DataFrame(data)# Save to Excelfile_name = 'pubmed.xlsx'df.to_excel(file_name, index=False, engine='openpyxl')print(f"Data saved to {file_name}")except RequestException as e:print(f"Error fetching {url}: {e}")# Call the function
fetch_and_translate_papers(url, my_headers)

讓 al 修改的是這段

paper_items = soup.select('ul.items-list li.full-docsum')for item in paper_items:paper_link = item.find('a')['href']  # Extract href attribute from <a> tagpaper_title = item.find('a').text.strip()  # Extract text from <a> tagchinese_paper_title = translator.translate(paper_title)print(f"Paper Title: {paper_title}")print(f"論文標題: {chinese_paper_title}")print(f"鏈接: {url}{paper_link}")print()data.append({'Paper Title': paper_title,'論文標題': chinese_paper_title,'鏈接': f"{url}{paper_link}",})

從頁面要獲取的html源代碼? 這個也要教嗎 懶了呀

就是你要爬的頁面 在頁面鼠標 右鍵源代碼

?

?把你要爬的 html源代碼 放al 讓他辦你改

問題描述 三:

怎么在自己的電腦定時執行 這個代碼泥

解決方案 三:

東西也給家人們找好了,學吧,人懶不想總結太多了

?【Python】使用Windows任務計劃程序定時運行Python腳本!-CSDN博客

?之后 要進行修改時間的可以看這個

?win10下設置定時任務,間隔每/分鐘 - Acezhang - 博客園 (cnblogs.com)

?到最后有一點 小問題 :

原因應該就是上面圖片的沒填? 問題不大。?windows解決任務計劃程序出錯一個或多個指定的參數無效_計劃任務一個或多個指定的參數無效-CSDN博客

?其中 管理員的單詞懂吧選那個

人麻了? 要定時還是有很多問題的

你的bat(腳本) 要運得了才可以? 點擊bat 如果閃退 就是不成功??

家人們 內容有點多 更多是自己去看別人的內容,我用了一天半完成的 不急慢慢來?

??居然沒有打賞功能 可憐我寫了半天?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/42331.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/42331.shtml
英文地址,請注明出處:http://en.pswp.cn/web/42331.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Vue CoreVideoPlayer 一款基于 vue.js 的輕量級、優秀的視頻播放器組件

大家好,我是程序視點的小二哥!今天小二哥給大家推薦一款非常優秀的視頻播放組件 效果欣賞 介紹 Vue-CoreVideoPlayer 一款基于vue.js的輕量級的視頻播放器插件。 采用Adobd XD進行UI設計&#xff0c;支持移動端適配,不僅功能強大&#xff0c;顏值也是超一流&#xff01; Vue-…

第一次構建一個對話機器人流程解析(二)

1. 問答機器人的組成-基于知識圖譜的搜索 在教育場景下&#xff0c;若學生有關于學習內容的提問&#xff0c;或業務層面的提問&#xff0c;則要求問答機器人的回答必須精準&#xff0c;來滿足業務的要求因此需要通過知識圖譜來快速檢索&#xff0c;所提內容的相關信息&#xf…

數字系統與進制轉換

數字系統 數字邏輯是計算機科學的基礎&#xff0c;它研究的是如何通過邏輯門電路&#xff08;與門、或門、非門等&#xff09;實現各種邏輯功能。數字系統則是由數字邏輯電路組成的系統&#xff0c;可以實現各種復雜的運算和控制功能。在計算機科學中&#xff0c;數字邏輯和數…

C++ 假設今天是星期日,那么過a^b天之后是星期幾?

題目 假設今天是星期日&#xff0c;那么過a^b天之后是星期幾&#xff1f; 【輸入】 兩個正整數a&#xff0c;b&#xff0c;中間用單個空格隔開。0<a≤100,0<b≤10000。 【輸出】 一個字符串&#xff0c;代表過a^b天之后是星期幾。 其中&#xff0c;Monday是星期一&…

自定義波形圖View,LayoutInflater動態加載控件保存為本地圖片

效果圖: 頁面布局: <?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="…

C#多線程并行計算實例

在C#中實現多線程并行計算可以通過使用 Task 和 Parallel 類來實現。這里給出兩個簡單的示例&#xff0c;一個是使用 Task&#xff0c;另一個是使用 Parallel.ForEach。 使用 Task 進行多線程并行計算 using System; using System.Threading.Tasks;class Program {static voi…

Kubernetes基于helm部署jenkins

Kubernetes基于helm安裝jenkins jenkins支持war包、docker鏡像、系統安裝包、helm安裝等。在Kubernetes上使用Helm安裝Jenkins可以簡化安裝和管理Jenkins的過程。同時借助Kubernetes&#xff0c;jenkins可以實現工作節點的動態調用伸縮&#xff0c;更好的提高資源利用率。通過…

MySQL Innodb存儲引擎中,當頁默認的大小是16K時,頁中最多存放多少行的記錄?

1、題目引入 Innodb存儲引擎是面向行的(row-oriented)&#xff0c;也就是說數據的存放按行進行&#xff0c;每頁存放的行記錄是有硬性定義的&#xff0c;當頁默認的大小是16K時&#xff0c;頁中最多存放多少行的記錄&#xff1f; A、1600 行B、8192 行C、16383 行D、7992 行 …

基于Python協同過濾的旅游景點推薦系統,采用Django框架,MySQL數據存儲,Bootstrap前端,echarts可視化實現

隨著旅游業的迅速發展&#xff0c;個性化旅游推薦系統成為提升用戶體驗和促進旅游市場增長的重要工具。本研究旨在設計并實現一種基于Python協同過濾的旅游景點推薦系統&#xff0c;結合Django框架、MySQL數據庫存儲、Bootstrap前端框架以及echarts數據可視化技術&#xff0c;為…

Flask發布一個及時止損(止盈)服務(二)

生成可視化的止盈止損結果&#xff08;圖片&#xff09; 媽的&#xff0c;還是得用 akshare&#xff0c;還需要指定python版本3.9以上 conda remove -n fonxsys --all conda search pythonconda create -n fonxsys python3.9 conda activate fonxsys python.exe -m pip insta…

【粉絲福利 | 第8期】值得收藏!推薦10個好用的數據血緣工具

?? 寫在前面參與規則&#xff01;&#xff01;&#xff01; ?參與方式&#xff1a;關注博主、點贊、收藏、評論&#xff0c;任意評論&#xff08;每人最多評論三次&#xff09; ??本次送書1~4本【取決于閱讀量&#xff0c;閱讀量越多&#xff0c;送的越多】 目前市面上絕…

數據遷移探索

概念 數據遷移是指將數據從一個計算環境或存儲系統移動到另一個計算環境或存儲系統。 隨著公司業務的發展&#xff0c;出于成本優化、系統升級、分庫分表、整合數據等原因。數據遷移工作在日常工作中會陸續出現。 我們可以將數據遷移分成兩個部分&#xff0c;第一部分是數據…

springboot高職院校畢業生信息管理系統-計算機畢業設計源碼27889

摘 要 基于Java語言開發的高職院校畢業生信息管理系統旨在提供一個便捷、高效的方式來管理畢業生的相關信息。系統包括學生基本信息管理、成績管理、就業信息管理等模塊&#xff0c;通過界面友好、操作簡單的設計&#xff0c;方便管理員快速查詢和更新學生信息。系統還提供數據…

采用前后端分離技術架構+java語言開發的全套產科信息管理系統源碼 可與醫院HIS、LIS、PACS、RIS等系統進行對接

采用前后端分離技術架構java語言開發的全套產科信息管理系統源碼 可與醫院HIS、LIS、PACS、RIS等系統進行對接 什么是產科信息管理系統-建檔管理&#xff1f; 產科信息管理系統建檔管理通過信息技術實現了孕產婦健康信息的電子化、網絡化和智能化管理&#xff0c;提高了醫療服…

Riscv 架構的合規測試

為啥直接關注riscv-arch-test&#xff0c;是因為RISCOF 測試框架使用的是riscv-arch-test 1. The architectural test 架構測試是一個單一的測試&#xff0c;代表了可編譯和運行的最小測試代碼。它是用匯編代碼編寫的&#xff0c;其產品是test signature。一個架構測試可能由…

微信小程序推送消息java版

需求背景 使用springboot2微信小程序推送消息。百度了一下看了一篇文章整體還可以&#xff0c;這里推薦一下。 教程解析 1、微信平臺開通訂閱消息。 2、添加模板。 3、springboot后臺接口開發 微信平臺驗證地址接口開發&#xff0c;然后部署到公網服務器。 4、微信平臺驗…

基于FPGA的數字信號處理(15)--定點數的舍入模式(6)向0取整fix

前言 在之前的文章介紹了定點數為什么需要舍入和幾種常見的舍入模式。今天我們再來看看另外一種舍入模式&#xff1a;向上取整fix。 10進制數的fix fix&#xff1a;也叫 向0取整。它的舍入方式是數據往0的方向&#xff0c;舍入到最近的整數&#xff0c;比如1.75 fix到2&#xf…

Docker技術簡介

Docker是一種開源的容器化平臺&#xff0c;旨在簡化應用程序的創建、部署和運行過程。它通過將應用程序及其所有依賴項打包到一個稱為容器的可移植單元中來實現這一目標。以下是Docker技術的簡介&#xff1a; Docker的核心概念 1、容器&#xff08;Container&#xff09;&…

將WordPress的文章重新排序的3個方法

有效的調整文章顯示順序看開可以更好突出內容&#xff0c;還可以保持網站的新鮮感&#xff0c;今天我將帶您了解三種方法&#xff0c;通過重新排序文章顯著提升網站的吸引力。我們將逐步講解從調整設置到使用插件以及“置頂”文章的每一種方法&#xff0c;確保WordPress 新手也…

Linux將mysql導出

1、基礎導出 要在Linux系統中將MySQL數據庫導出&#xff0c;通常使用mysqldump命令行工具。以下是一個基本的命令示例&#xff0c;用于導出整個數據庫&#xff1a; mysqldump -u username -p database_name > export_filename.sql 其中&#xff1a; username 是你的MySQL用…