www.beqege.cc/16750/223331.html
这是笔趣阁完美世界的网址,我用headers或handler都没有得到其代码,有人知道怎么搞定这个网址吗?
用selenium简单写了一个,有浏览器驱动就能跑,不知道能不能满足题主的要求
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.chrome.service import Service
driver = webdriver.Chrome(executable_path=r"E:\Anaconda\chromedriver.exe")
chrome_options = webdriver.ChromeOptions()
driver = webdriver.Chrome(options = chrome_options)
driver.get("https://www.beqege.cc/16750/223331.html")
for i in range(20):
try:
print(driver.find_element(by=By.XPATH, value='//*[@id="content"]/p[' + str(i+1) + ']').text)
except:
pass
from selenium.webdriver import Chrome
from webdriver_manager.chrome import ChromeDriverManager #pip install webdriver-manager
from webdriver_manager.core.utils import ChromeType
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.common.by import By #定位元素
from selenium.webdriver.support.ui import WebDriverWait #等待
from selenium.webdriver.support.expected_conditions import title_contains #加载页面的判断
s = Service(ChromeDriverManager(chrome_type=ChromeType.CHROMIUM).install())
# s = Service(executable_path=r"E:\Anaconda\chromedriver.exe") #现在新版本selenium这种方式好像不支持了
driver = Chrome(service=s)
driver.get("https://www.beqege.cc/16750/223331.html")
WebDriverWait(driver,10).until(title_contains('完美世界'))
content = driver.find_element(by=By.ID,value='content')
print(content.text)
用自动化编程思想去实现
【以下回答由 GPT 生成】
由于我们无法直接访问你提供的网址,因此无法具体验证你的代码。不过,以下是一些常见的问题和解决方案,希望能帮到你:
缺少协议头部: 在你提供的代码中,你的url字符串缺少了协议头部,例如 http://
或 https://
。正确的url应该是类似于 http://www.beqege.cc/16750/223331.html
或 https://www.beqege.cc/16750/223331.html
。请确保你的url是正确的。
headers 参数使用错误: 在你的代码中,你使用了 headers 参数来添加 User-Agent 头部,这是一个常见的方法。然而,根据你的代码,你使用了 requests.get()
方法来获取网页内容,但在你的 print(html1)
语句中没有任何输出。这可能意味着请求没有成功。 如果你仍然想使用 requests 库,你可以尝试以下代码:
```python import requests
url = "http://www.beqege.cc/16750/223331.html" headers = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3" } response = requests.get(url, headers=headers) html = response.text
print(html) ```
如果你仍然无法获取到正确的内容,可以尝试使用其他的 HTTP 请求库,如 http.client
或 urllib.request
。
urllib
库的 handler 方法,你创建了一个 HTTPHandler 的实例,并通过 build_opener() 方法创建了一个 opener 对象,然后打开了一个 request 对象。这是一种使用 urllib 库的请求方式,与你使用 requests 库时的方式不同。 如果你想继续使用 urllib 库,以下是使用 HTTPHandler 和 opener 的示例代码:```python from urllib import request
url = "http://www.beqege.cc/16750/223331.html" headers = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3" } handler = request.HTTPHandler() opener = request.build_opener(handler) request1 = request.Request(url, headers=headers) response = opener.open(request1) html = response.read().decode('utf-8')
print(html) ```
请注意,这是一个基本示例,并未涉及到处理异常情况和处理重定向等问题。
如果你仍然无法成功获取网页的内容,请提供更多的错误信息和具体问题的描述,以便我们能够更好地帮助你解决问题。
【相关推荐】