lpp25621832 发表于 2020-6-30 15:52:15

关于翻页的问题

本帖最后由 lpp25621832 于 2020-7-2 22:14 编辑

小羊苏西。

comeheres 发表于 2020-6-30 16:40:46

至少也得把parse_list_page这块代码贴出来吧

suchocolate 发表于 2020-6-30 17:13:41

代码贴全

lpp25621832 发表于 2020-6-30 20:14:34

本帖最后由 lpp25621832 于 2020-7-2 22:15 编辑

小兔瑞贝卡。

lpp25621832 发表于 2020-6-30 21:54:18

本帖最后由 lpp25621832 于 2020-7-2 22:16 编辑

小猪乔治。

comeheres 发表于 2020-6-30 21:54:27

lpp25621832 发表于 2020-6-30 20:14
# -*- coding: utf-8 -*-

from selenium import webdriver


你这代码运行不报错吗?

lpp25621832 发表于 2020-6-30 22:10:56

本帖最后由 lpp25621832 于 2020-7-2 22:17 编辑

小狐狸弗雷迪

lpp25621832 发表于 2020-6-30 22:11:38

本帖最后由 lpp25621832 于 2020-7-2 22:17 编辑

大象艾米莉

comeheres 发表于 2020-6-30 22:18:57

lpp25621832 发表于 2020-6-30 22:10
不报错呀

会不会是复制错了,就parse_detail_page这个,问题就不少呀

   def parse_detail_page(self, source):
      html = etree.HTML(source)
      element = driver.find_element_by_xpath('//*[@id="datalist"]/table') //正确应该是self.driver
      ta_content = element.find_elements_by_xpath('//*[@id="datalist"]/table/tbody/tr')
      tb_content = element.find_elements_by_xpath(('//*[@id="datalist"]/table/tbody/tr')//多了个括号
       lst1 = []
      for ta in ta_content:
            lsty1.append(ta.text) //这行lsty1,上面是lst1 ?
            print(lst1)
      lst2 = []
      for tb in tb_content:
            lst2.append(tb.text)
            print(lst2)
      time.sleep(1)

      l2 = lst1, lst2
      values = l2
      
       with open('C:/demo/qtw/demo.csv', 'a', newline='') as fp:
            writer = csv.writer(fp)
            writer.writerow(values)

lpp25621832 发表于 2020-6-30 22:31:01

本帖最后由 lpp25621832 于 2020-7-2 22:17 编辑

斑马苏怡

comeheres 发表于 2020-6-30 22:33:51

lpp25621832 发表于 2020-6-30 22:31
大神,可能是我复制错了。。手滑。。。。
总之我是真的可以爬完第一页的所有数据,就是翻不到第二页
但 ...

看了代码整体逻辑,应该是没问题的。若方便,可以将url私信给我,帮你调试看下

lpp25621832 发表于 2020-6-30 22:38:46

本帖最后由 lpp25621832 于 2020-7-2 22:18 编辑

唐姐克洛伊

冷小漠 发表于 2020-6-30 23:04:34

本帖最后由 冷小漠 于 2020-6-30 23:06 编辑

def request_detail_page(self, url):
      driver = self.driver
      self.driver.execute_script("window.open('%s')" % url)
      self.driver.switch_to.window(self.driver.window_handles)
      source = self.driver.page_source
      self.parse_detail_page(source)
      time.sleep(1)
      self.driver.close()
      self.driver.switch_to.window(self.driver.window_handles)
我个人觉得大概率出现在这个函数中的注入js上:window.open
首先我不太明白你函数开头的 driver = self.driver 的含义,因为你函数内部都没有使用到driver,一直用的仍然是self.driver
其次,driver = self.driver 这样的写法也起不到什么作用,在py中,这样是同一个对象...
最后,按理说是 window.open 在self.driver这个对象上跳转页面之后,就无法正确翻页了
没有对应网页,只能瞎猜咯

lpp25621832 发表于 2020-7-1 01:15:30

本帖最后由 lpp25621832 于 2020-7-2 22:19 编辑

小兔理查德

lpp25621832 发表于 2020-7-1 01:46:05

本帖最后由 lpp25621832 于 2020-7-2 22:19 编辑

大象埃德蒙

comeheres 发表于 2020-7-1 08:46:49

lpp25621832 发表于 2020-6-30 22:38
逻辑没有问题,那为什么不能翻页呢?就是我先爬完第一面的所有链接,即详情页的内容,然后再爬下一页所有 ...

你可以稍微修改下,换个网站测试,应该能正常点下一页的。很有可能就是你现在爬的网站比较特殊

lpp25621832 发表于 2020-7-1 13:50:59

本帖最后由 lpp25621832 于 2020-7-2 22:22 编辑

兔小姐

lpp25621832 发表于 2020-7-1 13:58:44

本帖最后由 lpp25621832 于 2020-7-2 22:23 编辑

祖祖和莎莎

lpp25621832 发表于 2020-7-1 14:00:21

本帖最后由 lpp25621832 于 2020-7-2 22:24 编辑

小猫坎迪

lpp25621832 发表于 2020-7-1 15:14:34

本帖最后由 lpp25621832 于 2020-7-2 22:24 编辑

小熊贝琳达
页: [1] 2
查看完整版本: 关于翻页的问题