鱼C论坛

 找回密码
 立即注册
查看: 1471|回复: 9

感觉自己把自己带进坑了,又错了。

[复制链接]
发表于 2017-11-20 21:06:56 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 要学习 于 2017-11-20 21:10 编辑

照我的理解。
既然已经循环分组 输出 网页链接了,
那我在这个循环下 直接加 读取网页 的代码不就好了。
结果不是这样的。。

直接报错了。

====================== RESTART: C:\Python27\1 - 副本.py ======================
http://www.baidu.com/20170401.html
http://www.baidu.com/20170402.html
http://www.baidu.com/20170403.html

Traceback (most recent call last):
  File "C:\Python27\1 - 副本.py", line 23, in <module>
    r = requests.get(url, headers=headers, timeout=300)
NameError: name 'url' is not defined


  1. import requests
  2. import re
  3. import pandas as pd
  4. from datetime import datetime
  5.      
  6. def get_url():
  7.     url = 'http://www.baidu.com/' + date + '.html'
  8.     return url
  9.    
  10. def datelist(beginDate, endDate):
  11.     date_l=[datetime.strftime(x,'%Y%m%d') for x in list(pd.date_range(start=beginDate, end=endDate))]
  12.     return date_l
  13. if __name__ == '__main__':
  14.     i = 1
  15.     all_date = datelist("20170401", "20170403")
  16.     for date in all_date:
  17.         print get_url()
  18.         if i % 3 == 0:
  19.             
  20.             headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x86) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36 Edge/15.15063'}
  21.             r = requests.get(url, headers=headers, timeout=300)
  22.             r = requests.get(url)
  23.             html = r.text
  24.         i+= 1
  25.     print html
复制代码



这次头大了。

我这次错在哪里了呢?
请各位老师解答一下


原本的意思是,,,
由于之前爬取的站点的网页是 爬取超过200页 就会得到出错。200页内的数据就正确,
所以才想 能不能这样:比如我要爬取三百页的数据,我就分成3组来爬取,每组一百页即可
这次问题好像偏离了。
各位老师指点指点


想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-11-20 21:17:42 From FishC Mobile | 显示全部楼层
你把你17行调用get_url函数的值存到一个列表里,然后在21行中将第一个参数改成上面列表中对应的值即可
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-11-20 21:31:31 | 显示全部楼层
本帖最后由 要学习 于 2017-11-20 21:32 编辑
BngThea 发表于 2017-11-20 21:17
你把你17行调用get_url函数的值存到一个列表里,然后在21行中将第一个参数改成上面列表中对应的值即可



  1. import requests
  2. import re
  3. import pandas as pd
  4. from datetime import datetime

  5. qq = []

  6. def get_url():
  7.     url = 'http://www.baidu.com/' + date + '.html'
  8.     return url
  9.    
  10. def datelist(beginDate, endDate):
  11.     date_l=[datetime.strftime(x,'%Y%m%d') for x in list(pd.date_range(start=beginDate, end=endDate))]
  12.     return date_l
  13. if __name__ == '__main__':
  14.     i = 1
  15.     all_date = datelist("20170401", "20170403")
  16.     for date in all_date:
  17.         qq = get_url()
  18.         if i % 3 == 0:
  19.             
  20.             headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x86) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36 Edge/15.15063'}
  21.             r = requests.get(qq, headers=headers, timeout=300)
  22.             r = requests.get(qq)
  23.             html = r.text
  24.         i+= 1
  25.     print html
复制代码


老师好。。我这样改。。(06.09.23.24行)
但只能 打印 出 一页的源码
循环没起作用
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-11-20 21:55:11 From FishC Mobile | 显示全部楼层
用一个列表存放每次获取的url,也就是你代码中的qq
然后在下面的时候从列表中分别取出对应的即可
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-11-20 22:21:57 | 显示全部楼层
BngThea 发表于 2017-11-20 21:55
用一个列表存放每次获取的url,也就是你代码中的qq
然后在下面的时候从列表中分别取出对应的即可
  1. 然后在下面的时候从列表中分别取出对应的即可
复制代码



这个是 要 再写一个for 循环。分别取出列表里的网址吗?

我是要每次 爬取 三个 网页。爬取完。再爬取另外三个

当然我没加上 正则那段
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-11-21 14:59:31 | 显示全部楼层
各位老师下午好
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-11-21 19:42:46 | 显示全部楼层


我还是没研究出来。。。

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-11-22 11:17:54 | 显示全部楼层
一页一页来读 会比 一次性多 一批网页慢吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-11-22 23:27:33 | 显示全部楼层
晚上好 各位老师
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-11-24 20:27:56 | 显示全部楼层


晚上好各位老师
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-26 00:44

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表