Python爬取笔趣阁网页代码?

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 生成】

由于我们无法直接访问你提供的网址,因此无法具体验证你的代码。不过,以下是一些常见的问题和解决方案,希望能帮到你:

  1. 缺少协议头部: 在你提供的代码中,你的url字符串缺少了协议头部,例如 http://https://。正确的url应该是类似于 http://www.beqege.cc/16750/223331.htmlhttps://www.beqege.cc/16750/223331.html。请确保你的url是正确的。

  2. 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.clienturllib.request

  1. handler 方法的使用: 在你的代码中使用了 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) ```

请注意,这是一个基本示例,并未涉及到处理异常情况和处理重定向等问题。

如果你仍然无法成功获取网页的内容,请提供更多的错误信息和具体问题的描述,以便我们能够更好地帮助你解决问题。



【相关推荐】



如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^