小编Rap*_*898的帖子

带代理的 Selenium 无法工作/选项错误?

我有以下工作测试解决方案,可输出 IP 地址和信息 -

\n

现在我想将其与我的 ScraperAPI-Account 和其他代理一起使用。\n但是当我取消注释这两行时 -

\n
# PROXY = f'http://scraperapi:{SCRAPER_API}@proxy-server.scraperapi.com:8001'\n# options.add_argument('--proxy-server=%s' % PROXY) \n
Run Code Online (Sandbox Code Playgroud)\n

该解决方案不再有效 -

\n

我如何将我的代理与 selenium / 该代码一起使用?\n(scraperAPI 建议使用 selenium-wire 模块,但我不\xc2\xb4t 喜欢它,因为它对其他工具的特定版本有一些依赖 - 所以我想无需使用代理即可使用)

\n

这可能吗?

\n
import time\nfrom bs4 import BeautifulSoup\nfrom selenium import webdriver\nfrom selenium.webdriver.chrome.options import Options\nfrom selenium.webdriver.chrome.service import Service\nfrom sys import platform\nimport os, sys\nfrom selenium.webdriver.support.ui import WebDriverWait\nfrom webdriver_manager.chrome import ChromeDriverManager\nfrom fake_useragent import UserAgent\nfrom dotenv import load_dotenv, find_dotenv\n\nWAIT = 10\n\nload_dotenv(find_dotenv()) \nSCRAPER_API = os.environ.get("SCRAPER_API")\n# PROXY = f'http://scraperapi:{SCRAPER_API}@proxy-server.scraperapi.com:8001'\n\nsrv=Service(ChromeDriverManager().install())\nua = UserAgent()\nuserAgent = ua.random\noptions = …
Run Code Online (Sandbox Code Playgroud)

python selenium proxies web-scraping

6
推荐指数
1
解决办法
5657
查看次数

Python / 向特定电报用户发送消息?

我想向特定的电报用户发送消息 -

因此,我创建了一个名为 Rapid1898Bot 的机器人并获取它的 api 密钥。我还在机器人中发送消息并进行处理

https://api.telegram.org/bot<Bot\_token>/getUpdates
Run Code Online (Sandbox Code Playgroud)

聊天 ID

使用以下代码,我现在可以向机器人发送消息 - 这很好:

    import os
    from dotenv import load_dotenv, find_dotenv
    import requests
    
    load_dotenv(find_dotenv()) 
    TELEGRAM_API = os.environ.get("TELEGRAM_API")
    # CHAT_ID = os.environ.get("CHAT_ID_Rapid1898Bot")
    CHAT_ID = os.environ.get("CHAT_ID_Rapid1898")
    
    print(CHAT_ID)
    
    botMessage = "This is a test message from python!"
    sendText = f"https://api.telegram.org/bot{TELEGRAM_API}/sendMessage?chat_id={CHAT_ID}&parse_mode=Markdown&text={botMessage}"
    response = requests.get(sendText)
    print(response.json())
Run Code Online (Sandbox Code Playgroud)

但现在我还想向特定的电报用户发送消息。根据这个解释:

如何使用我的电报机器人使用他们的用户名向某人发送消息

我本来期待着

a)从我的电报帐户向机器人发送消息

b) 然后打开

https://api.telegram.org/bot<Bot\_token>/getUpdates 
Run Code Online (Sandbox Code Playgroud)

但不幸的是,它似乎总是相同的聊天 ID,我可以用它将消息发送到rapid1898bot - 但不能发送到我的电报帐户。

为什么这不起作用以及为什么我总是得到相同的聊天 ID?

python bots telegram

6
推荐指数
1
解决办法
8120
查看次数

PyInstaller 无法与模块 pycountry 一起使用?

通常 PyInstaller 对我来说工作得很好,但我在使用 python 模块 pycountry 时发现了一个问题。

\n

我尝试了这个非常简单的代码:

\n
import pycountry\nland="DE"\ncountry = pycountry.countries.get (alpha_2=land)\nprint(country.name)\n
Run Code Online (Sandbox Code Playgroud)\n

用pyinstaller编译它:

\n
pyinstaller --onefile xyz.py\n
Run Code Online (Sandbox Code Playgroud)\n

但我想执行编译后的 exe 我收到此错误:

\n
Traceback (most recent call last):\n  File "temp2.py", line 1, in <module>\n    import pycountry\n  File "<frozen importlib._bootstrap>", line 983, in _find_and_load\n  File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked\n  File "<frozen importlib._bootstrap>", line 677, in _load_unlocked\n  File "c:\\users\\polzi\\appdata\\local\\programs\\python\\python37\\lib\\site-packages\\PyInstaller\\loader\\pyimod03_importers.py", line 623, in exec_module\n    exec(bytecode, module.__dict__)\n  File "site-packages\\pycountry\\__init__.py", line 12, in <module>\n  File "site-packages\\pkg_resources\\__init__.py", line 481, in get_distribution\n …
Run Code Online (Sandbox Code Playgroud)

python module pyinstaller

4
推荐指数
1
解决办法
1138
查看次数

Selenium 只能在非无头模式下工作?

我想在此页面上使用 Selenium: https: //www.avis.com/en/home

如果没有无头模式,该代码一切正常:

import requests
from bs4 import BeautifulSoup
import os, sys, time
import xlwings as xw
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.common.action_chains import ActionChains
from random import choice
from selenium import webdriver     
from sys import platform 

WAIT = 1
link = f"https://www.avis.com/en/home"
cd = '/chromedriver.exe'
options = Options()
# options.add_argument('--headless')
options.add_experimental_option ('excludeSwitches', ['enable-logging'])            
options.add_argument("user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.106 Safari/537.36")    
driver = webdriver.Chrome (path + cd, options=options)
driver.get …
Run Code Online (Sandbox Code Playgroud)

python selenium headless web-scraping selenium-webdriver

4
推荐指数
1
解决办法
1798
查看次数