过默 发表于 2019-4-19 22:06:10

怎么打印不出来,哪里错了

import requests
from lxml import etree



class Dynamic(object):
    def __init__(self):
      self.url = "https://www.soogif.com"
      self.headers={"User-Agent:Mozilla/5.0 (Windows NT 5.1)AppleWebKit/537.36(KHTML, like Gecko) Chrome/56.0.2924.90 Safari/537.36 2345Explorer/9.7.0.18838"}


    #1. 发送请求获取响应
    def send_request(self, url):
      response = requests.get(url, headers=self.headers)
      return response.content

    #2. 数据筛选
    def data_cleansing(self,data, rel):
      element = etree.HTML(data)
      html_xpath = element.xpath(rel)
      return html_xpath
      

    #3. 保存数据
    def sava_data(self,data,name):
      a = "images/"+name
      with open(a,"wb") as f:
            f.write(data)
   


    #4. 主要逻辑
    def run(self):
      response_data = self.send_request(self.url)
      img_xpath = "//div['@class=center']/a/@href"

      image_url_list = self.data_cleansing(response_data, img_xpath)
      image_url = self.url+ image_url_list
      page =

      for page_num in page:
            print(page_num)
            page_data = self.send_request(page_num)
            gage_xpath = '//div[@class="up clearfix"]/a/figure/div/video/@src'
            page_url_list = self.data_cleansing(page_data, page_xpath)

            for page_url in page_url_lsit:
                mp4_data= self.send_request(page_url)
                image_name = page_url[-10:]
                self.sava_data(mp4_data, image_name)
            
if __name__ == '__main__':
    graph = Dynamic()
    graph.run()


怎么打印不出来,哪里错了

ba21 发表于 2019-4-19 22:23:10

self.headers={"User-Agent":"Mozilla/5.0 (Windows NT 5.1)AppleWebKit/537.36(KHTML, like Gecko) Chrome/56.0.2924.90 Safari/537.36 2345Explorer/9.7.0.18838"}

ba21 发表于 2019-4-19 22:23:28

self.headers={"User-Agent":"Mozilla/5.0 (Windows NT 5.1)AppleWebKit/537.36(KHTML, like Gecko) Chrome/56.0.2924.90 Safari/537.36 2345Explorer/9.7.0.18838"}

ba21 发表于 2019-4-19 22:26:04

{"User-Agent":"

万中山 发表于 2019-4-20 16:12:43

两个地方错了:
1.如上,headers里的字典用法错了。引号少打了
2.gage_xpath = '//div[@class="up clearfix"]/a/figure/div/video/@src'
for page_url in page_url_lsit:
这两句有错误,变量名你打错了。‘

程序你写完了都不执行下的吗’

过默 发表于 2019-4-20 20:01:56

万中山 发表于 2019-4-20 16:12
两个地方错了:
1.如上,headers里的字典用法错了。引号少打了
2.gage_xpath = '//div[@class="up clearf ...

怎么改,哪里错了

wp231957 发表于 2019-4-20 20:25:31

过默 发表于 2019-4-20 20:01
怎么改,哪里错了

那2楼 3楼的 你都不看吗还问咋改

过默 发表于 2019-4-20 20:36:49

wp231957 发表于 2019-4-20 20:25
那2楼 3楼的 你都不看吗还问咋改

import requests
from lxml import etree



class Dynamic(object):
    def __init__(self):
      self.url = "https://www.soogif.com"
      self.headers={"User-Agent":"Mozilla/5.0(Windows NT 5.1)AppleWebKit/537.36(KHTML, like Gecko) Chrome/56.0.2924.90 Safari/537.36 2345Explorer/9.7.0.18838"}


    #1. 发送请求获取响应
    def send_request(self, url):
      response = requests.get(url, headers=self.headers)
      return response.content

    #2. 数据筛选
    def data_cleansing(self,data, rel):
      element = etree.HTML(data)
      html_xpath = element.xpath(rel)
      return html_xpath
      

    #3. 保存数据
    def sava_data(self,data,name):
      a = "images/"+name
      with open(a,"wb") as f:
            f.write(data)
   


    #4. 主要逻辑
    def run(self):
      response_data = self.send_request(self.url)
      img_xpath = "//div['@class=center']/a/@href"

      image_url_list = self.data_cleansing(response_data, img_xpath)
      image_url = self.url+ image_url_list
      page =

      for page_num in page:
            print(page_num)
            page_data = self.send_request(page_num)
            page_xpath = '//div[@class="up clearfix"]/a/figure/div/video/@src'
            page_url_list = self.data_cleansing(page_data, page_xpath)

            for page_url in page_url_lsit:
                mp4_data= self.send_request(page_url)
                image_name = page_url[-10:]
                self.sava_data(mp4_data, image_name)
            
if __name__ == '__main__':
    graph = Dynamic()
    graph.run()


怎么改

wp231957 发表于 2019-4-21 10:45:51

过默 发表于 2019-4-20 20:36
怎么改

page_url_list = self.data_cleansing(page_data, page_xpath)

            for page_url in page_url_lsit:

多么低级的错误啊

for page_url in page_url_lsit:
NameError: name 'page_url_lsit' is not defined

wp231957 发表于 2019-4-21 10:54:28

过默 发表于 2019-4-20 20:36
怎么改

按照9楼的修正之后,代码可以跑起来

不过 目录名 命名比较奇葩下载回来的是一堆mp4文件夹确实images 名字

过默 发表于 2019-4-21 11:33:48

wp231957 发表于 2019-4-21 10:45
多么低级的错误啊

for page_url in page_url_lsit:


怎么改不知道

wp231957 发表于 2019-4-21 11:37:12

过默 发表于 2019-4-21 11:33
怎么改不知道

你一点都不懂英文吗
for page_url in page_url_lsit:
NameError: name 'page_url_lsit' is not defined

我也不懂英文,但是也能猜到一些

在   for page_url in page_url_lsit: 这个语句中发现NameError: 一个名字叫page_url_lsit的变量没有被定义
至于怎么改请参看9楼

过默 发表于 2019-4-21 11:42:04

wp231957 发表于 2019-4-21 11:37
你一点都不懂英文吗
for page_url in page_url_lsit:
NameError: name 'page_url_lsit' is not define ...

import requests
from lxml import etree



class Dynamic(object):
    def __init__(self):
      self.url = "https://www.soogif.com"
      self.headers={"User-Agent":"Mozilla/5.0(Windows NT 5.1)AppleWebKit/537.36(KHTML, like Gecko) Chrome/56.0.2924.90 Safari/537.36 2345Explorer/9.7.0.18838"}


    #1. 发送请求获取响应
    def send_request(self, url):
      response = requests.get(url, headers=self.headers)
      return response.content

    #2. 数据筛选
    def data_cleansing(self,data, rel):
      element = etree.HTML(data)
      html_xpath = element.xpath(rel)
      return html_xpath
      

    #3. 保存数据
    def sava_data(self,data,name):
      a = "images/"+name
      with open(a,"wb") as f:
            f.write(data)
   


    #4. 主要逻辑
    def run(self):
      response_data = self.send_request(self.url)
      img_xpath = "//div['@class=center']/a/@href"

      image_url_list = self.data_cleansing(response_data, img_xpath)
      image_url = self.url+ image_url_list
      page =

      for page_num in page:
            print(page_num)
            page_data = self.send_request(page_num)
            page_xpath = '//div[@class="up clearfix"]/a/figure/div/video/@src'
            page_url_list = self.data_cleansing(page_data, page_xpath)

            for page_url in page_url_lsit:
                mp4_data= self.send_request(page_url)
                image_name = page_url[-10:]
                self.sava_data(mp4_data, image_name)
            
if __name__ == '__main__':
    graph = Dynamic()
    graph.run()


还是错

wp231957 发表于 2019-4-21 11:46:09

过默 发表于 2019-4-21 11:42
还是错

你没有改掉错误的地方 ,当然错了

这是你自己马虎的缘故,所以建议你自己取发现错误并改正

wp231957 发表于 2019-4-21 11:49:58

过默 发表于 2019-4-21 11:42
还是错

其他代码都没错,错误的代码 我已经在9楼贴出来了
谁 知道你是不看还是不会看啊不论是不看还是不会看都不可饶恕
页: [1]
查看完整版本: 怎么打印不出来,哪里错了