helltaker_- 2021-05-16 13:21 采纳率: 25%
浏览 29
已采纳

爬虫拼接的url打开之后和超链接中不一样

在漫画网站的目录部分点进去一个章节返回正常的页面

获取这个章节的href拼接成url之后按照这个链接却是另外一个样子,所有图片都加载不出来

 

 

用爬虫去获取页面的html也和原来不一样

漫画的链接是http://www.qiman6.com/12693/

爬虫获得的图片链接是'http://www.qiman6.com/images/loading_bak.png'之类的

正确的链接是这样的"https://p.pstatp.com/origin/pgc-image/308d526996464348a134c29399e65ca2" 

我的源码:

import requests
from lxml import etree
from selenium import webdriver
from pyquery import PyQuery as pq
import time
import pyperclip

# //*[@id="page_01"]/div/img
# //*[@id="page_02"]/div/img
head={'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.114 Safari/537.36'}
browser  = webdriver.Chrome()
browser.get('http://www.qiman6.com/12693/')
browser.find_element_by_xpath('//*[@id="chapterlistload"]/div[2]/span').click()
time.sleep(1)
browser.find_element_by_xpath('//*[@id="chapterList"]/div[2]/a').click()
time.sleep(1)
_html=browser.page_source
html=etree.HTML(str(pq(_html)))
links=html.xpath('//*[@id="chapter-list1"]/a/@href')
text=html.xpath('//*[@id="chapter-list1"]//a/text()')
print(text)
print(len(text))
print(links)

for index,i in enumerate(links):
    # new_res=requests.get(f'http://www.qiman6.com{i}',headers=head)
    # new_res.encoding='utf-8'
    # new_html = etree.HTML(new_res.text)
    # new_links=new_html.xpath('//*[@id="mainView"]/ul//img')
    # print(index,f'http://www.qiman6.com{i}',new_res.status_code)
    # print(new_links)
    # result = new_html.xpath('')

    browser.get(f'http://www.qiman6.com{i}')
    js = "var q=document.documentElement.scrollTop=100000"
    browser.execute_script(js)
    browser.execute_script(open('jquery.min.js',encoding='utf-8').read())
    browser.execute_script(open('lazyloadimg2.js',encoding='utf-8').read())
    browser.execute_script(open('q2.js',encoding='utf-8').read())
    browser.execute_script(open('qmw.js',encoding='utf-8').read())
    src=browser.find_elements_by_xpath('//*[@id="mainView"]/ul//img')
    print([x.get_attribute('src') for x in src])
    time.sleep(1)
    # print(browser.page_source)

  • 写回答

2条回答 默认 最新

  • CSDN专家-Time 2021-05-16 13:22
    关注

    建议检查一下url,一般是不会出现 页面和爬取的数据不相符这种情况的

    我看了一下,这个页面加载的时间可能比较久,所以建议sleep久一点。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料