1. python 脚本被意外打断之后(比如开网页但是断网了)如何从当前工作现场继续运行?
如果你只想运行一次,那么不用循环几乎是不可能的。当然你用crontab之类的定时任务来处理也可以。我猜想你登陆之后应该是要做一些操作的,那么在做任何操作之前你都去判断一下登陆状态,如果session过期或者其他原因导致登陆状态失效,那么就执行重登陆。
把脚本丢在后台执行,结果输出到log,应该没什么问题的。
2. python 网络爬虫,怎么自动保存图片
def download_poster_image(movie): #定义一个下载图片函数 src = movie #取出它的url r = requests.get(src) #去获取这个url fname = url.split('/')[-1] #从url里面获取这个文件名 with open(fname, 'wb') as f: #应答的内容写进去并且使用二进制 f.write(s.content) movie['poster-path'] = fnameres = requests.get(url)img_url = res.xpath('//img[@class="q-img-item"]/@src')movie = img_url download_poster_image(movie) #执行函数
3. python爬虫下来的数据怎么存
如果是存到mysql中,可以设置为字段类型为text。
mysql中text 最大长度为65,535(2的16次方–1)字符的TEXT列。
如果你觉得text长度不够,可以选择
MEDIUMTEXT最大长度为16,777,215。
LONGTEXT最大长度为4,294,967,295
Text主要是用来存放非二进制的文本,如论坛帖子,题目,或者百度知道的问题和回答之类。
需要弄清楚的是text 和 char varchar blob这几种类型的区别
如果真的特别大,就用python在某一路径下建一个文件,把内容write到文件中就可以了
4. python爬虫遇到有等待响应的网站怎么爬取
设置一个
import time
略…
# 做个睡眠时间
t = time.sleep(要睡眠的时间,如05,1,2,)
# 在想写入文件做个判断
with open("文件路径","wb")as f:
f.write(网址,conten)
if == t:
break
5. 如何使用python爬虫时增加延时和重试.比如一旦出现500错误,就等待1分钟再重试
def main():
try:
代码(打开网址的代码)
except Exception as e:
time模块延时(自己查一下,我忘了)
main()
6. python 爬虫如何设置爬取一定时间停止
from time import sleepn = 0while n <= 100: print(n) # 动作 sleep(60) # 暂停60秒 n = n + 1
7. 如何设置python爬虫的爬取时间
由于项目需求收集并使用过一些爬虫相关库,做过一些对比分析。以下是我接触过的一些库:Beautiful Soup。名气大,整合了一些常用爬虫需求。缺点:不能加载JS。Scrapy。看起来很强大的爬虫框架,可以满足简单的页面爬取(比如可以明确获知url pattern的情况)。用这个框架可以轻松爬下来如亚马逊商品信息之类的数据。但是对于稍微复杂一点的页面,如weibo的页面信息,这个框架就满足不了需求了。
Python基础教程mechanize。优点:可以加载JS。缺点:文档严重缺失。不过通过官方的example以及人肉尝试的方法,还是勉强能用的。selenium。这是一个调用浏览器的driver,通过这个库你可以直接调用浏览器完成某些操作,比如输入验证码。cola。一个分布式爬虫框架。项目整体设计有点糟,模块间耦合度较高,不过值得借鉴。以下是我的一些实践经验:对于简单的需求,比如有固定pattern的信息,怎么搞都是可以的。对于较为复杂的需求,比如爬取动态页面、涉及状态转换、涉及反爬虫机制、涉及高并发,这种情况下是很难找到一个契合需求的库的,很多东西只能自己写。
至于题主提到的:还有,采用现有的Python爬虫框架,相比与直接使用内置库,优势在哪?因为Python本身写爬虫已经很简单了。third party library可以做到built-in library做不到或者做起来很困难的事情,仅此而已。还有就是,爬虫简不简单,完全取决于需求,跟Python是没什么关系的。
8. Python爬虫时遇到 form data该怎么提交?楼主用的是requests。详情见图片。
requests.post(url,data={},headers=headers)